home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / games / decipher.elc.z / decipher.elc
Emacs Compiled Lisp  |  1998-05-21  |  19.4 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
100% file Emacs/XEmacs v20 byte-compiled Lisp data default
99% file data default
55% TrID Emacs/XEmacs byte-compiled Lisp (generic) default
44% TrID Summation Document Image Information Load File default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 14 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 75 73 74 69 6e 62 |piled by| justinb|
|00000020| 40 65 62 6f 6e 79 2e 63 | 72 61 79 2e 63 6f 6d 20 |@ebony.c|ray.com |
|00000030| 6f 6e 20 4d 6f 6e 20 4d | 61 72 20 20 39 20 31 32 |on Mon M|ar 9 12|
|00000040| 3a 34 39 3a 32 33 20 31 | 39 39 38 0a 3b 3b 3b 20 |:49:23 1|998.;;; |
|00000050| 66 72 6f 6d 20 66 69 6c | 65 20 2f 68 6f 6d 65 2f |from fil|e /home/|
|00000060| 61 73 70 65 6e 30 37 2f | 6a 75 73 74 69 6e 62 2f |aspen07/|justinb/|
|00000070| 72 6f 6f 74 73 2f 66 72 | 65 65 77 61 72 65 2f 78 |roots/fr|eeware/x|
|00000080| 65 6d 61 63 73 2f 32 30 | 2e 33 2f 78 65 6d 61 63 |emacs/20|.3/xemac|
|00000090| 73 2d 32 30 2e 33 2f 6c | 69 73 70 2f 67 61 6d 65 |s-20.3/l|isp/game|
|000000a0| 73 2f 64 65 63 69 70 68 | 65 72 2e 65 6c 0a 3b 3b |s/deciph|er.el.;;|
|000000b0| 3b 20 65 6d 61 63 73 20 | 76 65 72 73 69 6f 6e 20 |; emacs |version |
|000000c0| 32 30 2e 34 20 22 45 6d | 65 72 61 6c 64 22 20 58 |20.4 "Em|erald" X|
|000000d0| 45 6d 61 63 73 20 20 4c | 75 63 69 64 2e 0a 3b 3b |Emacs L|ucid..;;|
|000000e0| 3b 20 62 79 74 65 63 6f | 6d 70 20 76 65 72 73 69 |; byteco|mp versi|
|000000f0| 6f 6e 20 32 2e 32 35 20 | 58 45 6d 61 63 73 3b 20 |on 2.25 |XEmacs; |
|00000100| 32 32 2d 4d 61 72 2d 39 | 36 2e 0a 3b 3b 3b 20 6f |22-Mar-9|6..;;; o|
|00000110| 70 74 69 6d 69 7a 61 74 | 69 6f 6e 20 69 73 20 6f |ptimizat|ion is o|
|00000120| 6e 2e 0a 3b 3b 3b 20 74 | 68 69 73 20 66 69 6c 65 |n..;;; t|his file|
|00000130| 20 75 73 65 73 20 6f 70 | 63 6f 64 65 73 20 77 68 | uses op|codes wh|
|00000140| 69 63 68 20 64 6f 20 6e | 6f 74 20 65 78 69 73 74 |ich do n|ot exist|
|00000150| 20 69 6e 20 45 6d 61 63 | 73 20 31 39 2e 0a 0a 28 | in Emac|s 19...(|
|00000160| 69 66 20 28 61 6e 64 20 | 28 62 6f 75 6e 64 70 20 |if (and |(boundp |
|00000170| 27 65 6d 61 63 73 2d 76 | 65 72 73 69 6f 6e 29 0a |'emacs-v|ersion).|
|00000180| 09 20 28 6f 72 20 28 61 | 6e 64 20 28 62 6f 75 6e |. (or (a|nd (boun|
|00000190| 64 70 20 27 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |dp 'epoc|h::versi|
|000001a0| 6f 6e 29 20 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |on) epoc|h::versi|
|000001b0| 6f 6e 29 0a 09 20 20 20 | 20 20 28 73 74 72 69 6e |on).. | (strin|
|000001c0| 67 2d 6c 65 73 73 70 20 | 65 6d 61 63 73 2d 76 65 |g-lessp |emacs-ve|
|000001d0| 72 73 69 6f 6e 20 22 32 | 30 22 29 29 29 0a 20 20 |rsion "2|0"))). |
|000001e0| 20 20 28 65 72 72 6f 72 | 20 22 60 64 65 63 69 70 | (error| "`decip|
|000001f0| 68 65 72 2e 65 6c 27 20 | 77 61 73 20 63 6f 6d 70 |her.el' |was comp|
|00000200| 69 6c 65 64 20 66 6f 72 | 20 45 6d 61 63 73 20 32 |iled for| Emacs 2|
|00000210| 30 22 29 29 0a 0a 28 6f | 72 20 28 62 6f 75 6e 64 |0"))..(o|r (bound|
|00000220| 70 20 27 63 75 72 72 65 | 6e 74 2d 6c 6f 61 64 2d |p 'curre|nt-load-|
|00000230| 6c 69 73 74 29 20 28 73 | 65 74 71 20 63 75 72 72 |list) (s|etq curr|
|00000240| 65 6e 74 2d 6c 6f 61 64 | 2d 6c 69 73 74 20 6e 69 |ent-load|-list ni|
|00000250| 6c 29 29 0a 0a 0a 23 40 | 31 35 38 20 2a 4e 6f 6e |l))...#@|158 *Non|
|00000260| 2d 6e 69 6c 20 6d 65 61 | 6e 73 20 74 6f 20 63 6f |-nil mea|ns to co|
|00000270| 6e 76 65 72 74 20 63 69 | 70 68 65 72 74 65 78 74 |nvert ci|phertext|
|00000280| 20 74 6f 20 75 70 70 65 | 72 63 61 73 65 2e 0a 4e | to uppe|rcase..N|
|00000290| 69 6c 20 6d 65 61 6e 73 | 20 74 68 65 20 63 61 73 |il means| the cas|
|000002a0| 65 20 6f 66 20 74 68 65 | 20 63 69 70 68 65 72 74 |e of the| ciphert|
|000002b0| 65 78 74 20 69 73 20 70 | 72 65 73 65 72 76 65 64 |ext is p|reserved|
|000002c0| 2e 0a 54 68 69 73 20 76 | 61 72 69 61 62 6c 65 20 |..This v|ariable |
|000002d0| 6d 75 73 74 20 62 65 20 | 73 65 74 20 62 65 66 6f |must be |set befo|
|000002e0| 72 65 20 74 79 70 69 6e | 67 20 60 5c 5b 64 65 63 |re typin|g `\[dec|
|000002f0| 69 70 68 65 72 5d 27 2e | 1f 0a 28 64 65 66 76 61 |ipher]'.|..(defva|
|00000300| 72 20 64 65 63 69 70 68 | 65 72 2d 66 6f 72 63 65 |r deciph|er-force|
|00000310| 2d 75 70 70 65 72 63 61 | 73 65 20 74 20 28 23 24 |-upperca|se t (#$|
|00000320| 20 2e 20 2d 36 30 34 29 | 29 0a 23 40 31 39 38 20 | . -604)|).#@198 |
|00000330| 2a 4e 6f 6e 2d 6e 69 6c | 20 6d 65 61 6e 73 20 74 |*Non-nil| means t|
|00000340| 6f 20 69 67 6e 6f 72 65 | 20 73 70 61 63 65 73 20 |o ignore| spaces |
|00000350| 61 6e 64 20 70 75 6e 63 | 74 75 61 74 69 6f 6e 20 |and punc|tuation |
|00000360| 77 68 65 6e 20 63 6f 75 | 6e 74 69 6e 67 20 64 69 |when cou|nting di|
|00000370| 67 72 61 6d 73 2e 0a 59 | 6f 75 20 73 68 6f 75 6c |grams..Y|ou shoul|
|00000380| 64 20 73 65 74 20 74 68 | 69 73 20 74 6f 20 60 6e |d set th|is to `n|
|00000390| 69 6c 27 20 69 66 20 74 | 68 65 20 63 69 70 68 65 |il' if t|he ciphe|
|000003a0| 72 20 6d 65 73 73 61 67 | 65 20 69 73 20 64 69 76 |r messag|e is div|
|000003b0| 69 64 65 64 20 69 6e 74 | 6f 20 77 6f 72 64 73 2c |ided int|o words,|
|000003c0| 0a 6f 72 20 60 74 27 20 | 69 66 20 69 74 20 69 73 |.or `t' |if it is|
|000003d0| 20 6e 6f 74 2e 0a 54 68 | 69 73 20 76 61 72 69 61 | not..Th|is varia|
|000003e0| 62 6c 65 20 69 73 20 62 | 75 66 66 65 72 2d 6c 6f |ble is b|uffer-lo|
|000003f0| 63 61 6c 2e 1f 0a 28 64 | 65 66 76 61 72 20 64 65 |cal...(d|efvar de|
|00000400| 63 69 70 68 65 72 2d 69 | 67 6e 6f 72 65 2d 73 70 |cipher-i|gnore-sp|
|00000410| 61 63 65 73 20 6e 69 6c | 20 28 23 24 20 2e 20 2d |aces nil| (#$ . -|
|00000420| 38 31 36 29 29 0a 28 6d | 61 6b 65 2d 76 61 72 69 |816)).(m|ake-vari|
|00000430| 61 62 6c 65 2d 62 75 66 | 66 65 72 2d 6c 6f 63 61 |able-buf|fer-loca|
|00000440| 6c 20 27 64 65 63 69 70 | 68 65 72 2d 69 67 6e 6f |l 'decip|her-igno|
|00000450| 72 65 2d 73 70 61 63 65 | 73 29 0a 23 40 31 34 30 |re-space|s).#@140|
|00000460| 20 54 68 65 20 6d 61 78 | 69 6d 75 6d 20 6e 75 6d | The max|imum num|
|00000470| 62 65 72 20 6f 66 20 65 | 6e 74 72 69 65 73 20 69 |ber of e|ntries i|
|00000480| 6e 20 74 68 65 20 75 6e | 64 6f 20 6c 69 73 74 2e |n the un|do list.|
|00000490| 0a 57 68 65 6e 20 74 68 | 65 20 75 6e 64 6f 20 6c |.When th|e undo l|
|000004a0| 69 73 74 20 65 78 63 65 | 65 64 73 20 74 68 69 73 |ist exce|eds this|
|000004b0| 20 6e 75 6d 62 65 72 2c | 20 31 30 30 20 65 6e 74 | number,| 100 ent|
|000004c0| 72 69 65 73 20 61 72 65 | 20 64 65 6c 65 74 65 64 |ries are| deleted|
|000004d0| 20 66 72 6f 6d 0a 74 68 | 65 20 74 61 69 6c 20 6f | from.th|e tail o|
|000004e0| 66 20 74 68 65 20 6c 69 | 73 74 2e 1f 0a 28 64 65 |f the li|st...(de|
|000004f0| 66 76 61 72 20 64 65 63 | 69 70 68 65 72 2d 75 6e |fvar dec|ipher-un|
|00000500| 64 6f 2d 6c 69 6d 69 74 | 20 35 30 30 30 20 28 23 |do-limit| 5000 (#|
|00000510| 24 20 2e 20 31 31 32 31 | 29 29 0a 23 40 35 37 33 |$ . 1121|)).#@573|
|00000520| 20 45 78 70 72 65 73 73 | 69 6f 6e 73 20 74 6f 20 | Express|ions to |
|00000530| 66 6f 6e 74 69 66 79 20 | 69 6e 20 44 65 63 69 70 |fontify |in Decip|
|00000540| 68 65 72 20 6d 6f 64 65 | 2e 0a 43 69 70 68 65 72 |her mode|..Cipher|
|00000550| 74 65 78 74 20 75 73 65 | 73 20 60 66 6f 6e 74 2d |text use|s `font-|
|00000560| 6c 6f 63 6b 2d 6b 65 79 | 77 6f 72 64 2d 66 61 63 |lock-key|word-fac|
|00000570| 65 27 2c 20 70 6c 61 69 | 6e 74 65 78 74 20 75 73 |e', plai|ntext us|
|00000580| 65 73 0a 60 66 6f 6e 74 | 2d 6c 6f 63 6b 2d 73 74 |es.`font|-lock-st|
|00000590| 72 69 6e 67 2d 66 61 63 | 65 27 2c 20 63 6f 6d 6d |ring-fac|e', comm|
|000005a0| 65 6e 74 73 20 75 73 65 | 20 60 66 6f 6e 74 2d 6c |ents use| `font-l|
|000005b0| 6f 63 6b 2d 63 6f 6d 6d | 65 6e 74 2d 66 61 63 65 |ock-comm|ent-face|
|000005c0| 27 2c 20 61 6e 64 0a 63 | 68 65 63 6b 70 6f 69 6e |', and.c|heckpoin|
|000005d0| 74 73 20 75 73 65 20 60 | 66 6f 6e 74 2d 6c 6f 63 |ts use `|font-loc|
|000005e0| 6b 2d 72 65 66 65 72 65 | 6e 63 65 2d 66 61 63 65 |k-refere|nce-face|
|000005f0| 27 2e 20 20 59 6f 75 20 | 63 61 6e 20 63 75 73 74 |'. You |can cust|
|00000600| 6f 6d 69 7a 65 20 74 68 | 65 0a 64 69 73 70 6c 61 |omize th|e.displa|
|00000610| 79 20 62 79 20 63 68 61 | 6e 67 69 6e 67 20 74 68 |y by cha|nging th|
|00000620| 65 73 65 20 76 61 72 69 | 61 62 6c 65 73 2e 20 20 |ese vari|ables. |
|00000630| 46 6f 72 20 62 65 73 74 | 20 72 65 73 75 6c 74 73 |For best| results|
|00000640| 2c 20 49 20 72 65 63 6f | 6d 6d 65 6e 64 0a 74 68 |, I reco|mmend.th|
|00000650| 61 74 20 61 6c 6c 20 66 | 61 63 65 73 20 75 73 65 |at all f|aces use|
|00000660| 20 74 68 65 20 73 61 6d | 65 20 62 61 63 6b 67 72 | the sam|e backgr|
|00000670| 6f 75 6e 64 20 63 6f 6c | 6f 72 2e 0a 46 6f 72 20 |ound col|or..For |
|00000680| 65 78 61 6d 70 6c 65 2c | 20 74 6f 20 64 69 73 70 |example,| to disp|
|00000690| 6c 61 79 20 63 69 70 68 | 65 72 74 65 78 74 20 69 |lay ciph|ertext i|
|000006a0| 6e 20 74 68 65 20 60 62 | 6f 6c 64 27 20 66 61 63 |n the `b|old' fac|
|000006b0| 65 2c 20 75 73 65 0a 20 | 20 28 61 64 64 2d 68 6f |e, use. | (add-ho|
|000006c0| 6f 6b 20 27 64 65 63 69 | 70 68 65 72 2d 6d 6f 64 |ok 'deci|pher-mod|
|000006d0| 65 2d 68 6f 6f 6b 0a 20 | 20 20 20 20 20 20 20 20 |e-hook. | |
|000006e0| 20 20 20 28 6c 61 6d 62 | 64 61 20 28 29 20 28 73 | (lamb|da () (s|
|000006f0| 65 74 20 28 6d 61 6b 65 | 2d 6c 6f 63 61 6c 2d 76 |et (make|-local-v|
|00000700| 61 72 69 61 62 6c 65 20 | 27 66 6f 6e 74 2d 6c 6f |ariable |'font-lo|
|00000710| 63 6b 2d 6b 65 79 77 6f | 72 64 2d 66 61 63 65 29 |ck-keywo|rd-face)|
|00000720| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000730| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 27 62 6f | | 'bo|
|00000740| 6c 64 29 29 29 0a 69 6e | 20 79 6f 75 72 20 60 2e |ld))).in| your `.|
|00000750| 65 6d 61 63 73 27 20 66 | 69 6c 65 2e 1f 0a 28 64 |emacs' f|ile...(d|
|00000760| 65 66 76 61 72 20 64 65 | 63 69 70 68 65 72 2d 66 |efvar de|cipher-f|
|00000770| 6f 6e 74 2d 6c 6f 63 6b | 2d 6b 65 79 77 6f 72 64 |ont-lock|-keyword|
|00000780| 73 20 27 28 28 22 5e 3a | 2e 2a 22 20 2e 20 66 6f |s '(("^:|.*" . fo|
|00000790| 6e 74 2d 6c 6f 63 6b 2d | 6b 65 79 77 6f 72 64 2d |nt-lock-|keyword-|
|000007a0| 66 61 63 65 29 20 28 22 | 5e 3e 2e 2a 22 20 2e 20 |face) ("|^>.*" . |
|000007b0| 66 6f 6e 74 2d 6c 6f 63 | 6b 2d 73 74 72 69 6e 67 |font-loc|k-string|
|000007c0| 2d 66 61 63 65 29 20 28 | 22 5e 25 21 2e 2a 22 20 |-face) (|"^%!.*" |
|000007d0| 2e 20 66 6f 6e 74 2d 6c | 6f 63 6b 2d 72 65 66 65 |. font-l|ock-refe|
|000007e0| 72 65 6e 63 65 2d 66 61 | 63 65 29 20 28 22 5e 25 |rence-fa|ce) ("^%|
|000007f0| 2e 2a 22 20 2e 20 66 6f | 6e 74 2d 6c 6f 63 6b 2d |.*" . fo|nt-lock-|
|00000800| 63 6f 6d 6d 65 6e 74 2d | 66 61 63 65 29 20 28 22 |comment-|face) ("|
|00000810| 5c 5c 60 28 5c 5c 28 5b | 61 2d 7a 5d 2b 5c 5c 29 |\\`(\\([|a-z]+\\)|
|00000820| 20 2b 5c 5c 28 5b 41 2d | 5a 5d 2b 5c 5c 29 22 20 | +\\([A-|Z]+\\)" |
|00000830| 28 31 20 66 6f 6e 74 2d | 6c 6f 63 6b 2d 73 74 72 |(1 font-|lock-str|
|00000840| 69 6e 67 2d 66 61 63 65 | 29 20 28 32 20 66 6f 6e |ing-face|) (2 fon|
|00000850| 74 2d 6c 6f 63 6b 2d 6b | 65 79 77 6f 72 64 2d 66 |t-lock-k|eyword-f|
|00000860| 61 63 65 29 29 20 28 22 | 5e 29 5c 5c 28 5b 41 2d |ace)) ("|^)\\([A-|
|00000870| 5a 20 5d 2b 5c 5c 29 5c | 5c 28 5b 61 2d 7a 20 5d |Z ]+\\)\|\([a-z ]|
|00000880| 2b 5c 5c 29 22 20 28 31 | 20 66 6f 6e 74 2d 6c 6f |+\\)" (1| font-lo|
|00000890| 63 6b 2d 6b 65 79 77 6f | 72 64 2d 66 61 63 65 29 |ck-keywo|rd-face)|
|000008a0| 20 28 32 20 66 6f 6e 74 | 2d 6c 6f 63 6b 2d 73 74 | (2 font|-lock-st|
|000008b0| 72 69 6e 67 2d 66 61 63 | 65 29 29 29 20 28 23 24 |ring-fac|e))) (#$|
|000008c0| 20 2e 20 31 33 31 33 29 | 29 0a 23 40 32 37 20 4b | . 1313)|).#@27 K|
|000008d0| 65 79 6d 61 70 20 66 6f | 72 20 44 65 63 69 70 68 |eymap fo|r Deciph|
|000008e0| 65 72 20 6d 6f 64 65 2e | 1f 0a 28 64 65 66 76 61 |er mode.|..(defva|
|000008f0| 72 20 64 65 63 69 70 68 | 65 72 2d 6d 6f 64 65 2d |r deciph|er-mode-|
|00000900| 6d 61 70 20 6e 69 6c 20 | 28 23 24 20 2e 20 32 32 |map nil |(#$ . 22|
|00000910| 35 35 29 29 0a 28 62 79 | 74 65 2d 63 6f 64 65 20 |55)).(by|te-code |
|00000920| 22 08 ac e7 c1 20 10 c2 | 08 21 88 c3 08 c4 c5 23 |".... ..|.!.....#|
|00000930| 88 c3 08 c6 c7 23 88 c3 | 08 c8 c9 23 88 c3 08 ca |.....#..|...#....|
|00000940| cb 23 88 c3 08 cc cd 23 | 88 c3 08 ce cf 23 88 c3 |.#.....#|.....#..|
|00000950| 08 d0 d1 23 88 c3 08 d2 | d3 23 88 c3 08 d4 d5 23 |...#....|.#.....#|
|00000960| 88 d6 d7 d3 08 0e 18 24 | 88 d6 d9 d3 08 0e 18 24 |.......$|.......$|
|00000970| 88 da 1e 1b da dc 58 ab | 91 c3 08 dd 0e 1b 21 d5 |......X.|......!.|
|00000980| 23 88 0e 1b 54 89 16 1b | aa 6b 29 c1 87 22 20 5b |#...T...|.k).." [|
|00000990| 64 65 63 69 70 68 65 72 | 2d 6d 6f 64 65 2d 6d 61 |decipher|-mode-ma|
|000009a0| 70 20 6d 61 6b 65 2d 6b | 65 79 6d 61 70 20 73 75 |p make-k|eymap su|
|000009b0| 70 70 72 65 73 73 2d 6b | 65 79 6d 61 70 20 64 65 |ppress-k|eymap de|
|000009c0| 66 69 6e 65 2d 6b 65 79 | 20 22 41 22 20 64 65 63 |fine-key| "A" dec|
|000009d0| 69 70 68 65 72 2d 73 68 | 6f 77 2d 61 6c 70 68 61 |ipher-sh|ow-alpha|
|000009e0| 62 65 74 20 22 43 22 20 | 64 65 63 69 70 68 65 72 |bet "C" |decipher|
|000009f0| 2d 63 6f 6d 70 6c 65 74 | 65 2d 61 6c 70 68 61 62 |-complet|e-alphab|
|00000a00| 65 74 20 22 44 22 20 64 | 65 63 69 70 68 65 72 2d |et "D" d|ecipher-|
|00000a10| 64 69 67 72 61 6d 2d 6c | 69 73 74 20 22 46 22 20 |digram-l|ist "F" |
|00000a20| 64 65 63 69 70 68 65 72 | 2d 66 72 65 71 75 65 6e |decipher|-frequen|
|00000a30| 63 79 2d 63 6f 75 6e 74 | 20 22 4d 22 20 64 65 63 |cy-count| "M" dec|
|00000a40| 69 70 68 65 72 2d 6d 61 | 6b 65 2d 63 68 65 63 6b |ipher-ma|ke-check|
|00000a50| 70 6f 69 6e 74 20 22 4e | 22 20 64 65 63 69 70 68 |point "N|" deciph|
|00000a60| 65 72 2d 61 64 6a 61 63 | 65 6e 63 79 2d 6c 69 73 |er-adjac|ency-lis|
|00000a70| 74 20 22 52 22 20 64 65 | 63 69 70 68 65 72 2d 72 |t "R" de|cipher-r|
|00000a80| 65 73 74 6f 72 65 2d 63 | 68 65 63 6b 70 6f 69 6e |estore-c|heckpoin|
|00000a90| 74 20 22 55 22 20 64 65 | 63 69 70 68 65 72 2d 75 |t "U" de|cipher-u|
|00000aa0| 6e 64 6f 20 22 20 22 20 | 64 65 63 69 70 68 65 72 |ndo " " |decipher|
|00000ab0| 2d 6b 65 79 70 72 65 73 | 73 20 73 75 62 73 74 69 |-keypres|s substi|
|00000ac0| 74 75 74 65 2d 6b 65 79 | 2d 64 65 66 69 6e 69 74 |tute-key|-definit|
|00000ad0| 69 6f 6e 20 75 6e 64 6f | 20 67 6c 6f 62 61 6c 2d |ion undo| global-|
|00000ae0| 6d 61 70 20 61 64 76 65 | 72 74 69 73 65 64 2d 75 |map adve|rtised-u|
|00000af0| 6e 64 6f 20 3f 61 20 6b | 65 79 20 3f 7a 20 76 65 |ndo ?a k|ey ?z ve|
|00000b00| 63 74 6f 72 5d 20 36 29 | 0a 23 40 33 33 20 4b 65 |ctor] 6)|.#@33 Ke|
|00000b10| 79 6d 61 70 20 66 6f 72 | 20 44 65 63 69 70 68 65 |ymap for| Deciphe|
|00000b20| 72 2d 53 74 61 74 73 20 | 6d 6f 64 65 2e 1f 0a 28 |r-Stats |mode...(|
|00000b30| 64 65 66 76 61 72 20 64 | 65 63 69 70 68 65 72 2d |defvar d|ecipher-|
|00000b40| 73 74 61 74 73 2d 6d 6f | 64 65 2d 6d 61 70 20 6e |stats-mo|de-map n|
|00000b50| 69 6c 20 28 23 24 20 2e | 20 32 38 33 30 29 29 0a |il (#$ .| 2830)).|
|00000b60| 28 62 79 74 65 2d 63 6f | 64 65 20 22 08 ac 99 c1 |(byte-co|de "....|
|00000b70| 20 10 c2 08 21 88 c3 08 | c4 c5 23 88 c3 08 c6 c7 | ...!...|..#.....|
|00000b80| 23 88 c3 08 c8 c9 23 88 | c1 87 22 20 5b 64 65 63 |#.....#.|.." [dec|
|00000b90| 69 70 68 65 72 2d 73 74 | 61 74 73 2d 6d 6f 64 65 |ipher-st|ats-mode|
|00000ba0| 2d 6d 61 70 20 6d 61 6b | 65 2d 6b 65 79 6d 61 70 |-map mak|e-keymap|
|00000bb0| 20 73 75 70 70 72 65 73 | 73 2d 6b 65 79 6d 61 70 | suppres|s-keymap|
|00000bc0| 20 64 65 66 69 6e 65 2d | 6b 65 79 20 22 44 22 20 | define-|key "D" |
|00000bd0| 64 65 63 69 70 68 65 72 | 2d 64 69 67 72 61 6d 2d |decipher|-digram-|
|00000be0| 6c 69 73 74 20 22 46 22 | 20 64 65 63 69 70 68 65 |list "F"| deciphe|
|00000bf0| 72 2d 66 72 65 71 75 65 | 6e 63 79 2d 63 6f 75 6e |r-freque|ncy-coun|
|00000c00| 74 20 22 4e 22 20 64 65 | 63 69 70 68 65 72 2d 61 |t "N" de|cipher-a|
|00000c10| 64 6a 61 63 65 6e 63 79 | 2d 6c 69 73 74 5d 20 34 |djacency|-list] 4|
|00000c20| 29 0a 23 40 32 38 20 44 | 65 63 69 70 68 65 72 20 |).#@28 D|ecipher |
|00000c30| 6d 6f 64 65 20 73 79 6e | 74 61 78 20 74 61 62 6c |mode syn|tax tabl|
|00000c40| 65 1f 0a 28 64 65 66 76 | 61 72 20 64 65 63 69 70 |e..(defv|ar decip|
|00000c50| 68 65 72 2d 6d 6f 64 65 | 2d 73 79 6e 74 61 78 2d |her-mode|-syntax-|
|00000c60| 74 61 62 6c 65 20 6e 69 | 6c 20 28 23 24 20 2e 20 |table ni|l (#$ . |
|00000c70| 33 31 31 31 29 29 0a 28 | 62 79 74 65 2d 63 6f 64 |3111)).(|byte-cod|
|00000c80| 65 20 22 08 ac 99 c1 20 | c2 1b 1c 0b c5 58 ab 8c |e ".... |.....X..|
|00000c90| c6 0b c7 0c 23 88 0b 54 | 89 13 aa 70 0c 10 2a c8 |....#..T|...p..*.|
|00000ca0| c9 21 ac 83 ca 16 09 c9 | 0e 0b 42 16 0b cc c9 21 |.!......|..B....!|
|00000cb0| 87 22 20 5b 64 65 63 69 | 70 68 65 72 2d 6d 6f 64 |." [deci|pher-mod|
|00000cc0| 65 2d 73 79 6e 74 61 78 | 2d 74 61 62 6c 65 20 6d |e-syntax|-table m|
|00000cd0| 61 6b 65 2d 73 79 6e 74 | 61 78 2d 74 61 62 6c 65 |ake-synt|ax-table|
|00000ce0| 20 3f 30 20 63 20 74 61 | 62 6c 65 20 3f 39 20 6d | ?0 c ta|ble ?9 m|
|00000cf0| 6f 64 69 66 79 2d 73 79 | 6e 74 61 78 2d 65 6e 74 |odify-sy|ntax-ent|
|00000d00| 72 79 20 22 5f 22 20 62 | 6f 75 6e 64 70 20 64 65 |ry "_" b|oundp de|
|00000d10| 63 69 70 68 65 72 2d 61 | 6c 70 68 61 62 65 74 20 |cipher-a|lphabet |
|00000d20| 6e 69 6c 20 63 75 72 72 | 65 6e 74 2d 6c 6f 61 64 |nil curr|ent-load|
|00000d30| 2d 6c 69 73 74 20 6d 61 | 6b 65 2d 76 61 72 69 61 |-list ma|ke-varia|
|00000d40| 62 6c 65 2d 62 75 66 66 | 65 72 2d 6c 6f 63 61 6c |ble-buff|er-local|
|00000d50| 5d 20 35 29 0a 23 40 31 | 34 37 20 54 68 65 20 62 |] 5).#@1|47 The b|
|00000d60| 75 66 66 65 72 20 77 68 | 69 63 68 20 64 69 73 70 |uffer wh|ich disp|
|00000d70| 6c 61 79 73 20 73 74 61 | 74 69 73 74 69 63 73 20 |lays sta|tistics |
|00000d80| 66 6f 72 20 74 68 69 73 | 20 63 69 70 68 65 72 74 |for this| ciphert|
|00000d90| 65 78 74 2e 0a 44 6f 20 | 6e 6f 74 20 61 63 63 65 |ext..Do |not acce|
|00000da0| 73 73 20 74 68 69 73 20 | 76 61 72 69 61 62 6c 65 |ss this |variable|
|00000db0| 20 64 69 72 65 63 74 6c | 79 2c 20 75 73 65 20 74 | directl|y, use t|
|00000dc0| 68 65 20 66 75 6e 63 74 | 69 6f 6e 0a 60 64 65 63 |he funct|ion.`dec|
|00000dd0| 69 70 68 65 72 2d 73 74 | 61 74 73 2d 62 75 66 66 |ipher-st|ats-buff|
|00000de0| 65 72 27 20 69 6e 73 74 | 65 61 64 2e 1f 0a 28 64 |er' inst|ead...(d|
|00000df0| 65 66 76 61 72 20 64 65 | 63 69 70 68 65 72 2d 73 |efvar de|cipher-s|
|00000e00| 74 61 74 73 2d 62 75 66 | 66 65 72 20 6e 69 6c 20 |tats-buf|fer nil |
|00000e10| 28 23 24 20 2e 20 33 34 | 31 39 29 29 0a 28 6d 61 |(#$ . 34|19)).(ma|
|00000e20| 6b 65 2d 76 61 72 69 61 | 62 6c 65 2d 62 75 66 66 |ke-varia|ble-buff|
|00000e30| 65 72 2d 6c 6f 63 61 6c | 20 27 64 65 63 69 70 68 |er-local| 'deciph|
|00000e40| 65 72 2d 73 74 61 74 73 | 2d 62 75 66 66 65 72 29 |er-stats|-buffer)|
|00000e50| 0a 23 40 34 31 20 54 68 | 65 20 6e 75 6d 62 65 72 |.#@41 Th|e number|
|00000e60| 20 6f 66 20 65 6e 74 72 | 69 65 73 20 69 6e 20 74 | of entr|ies in t|
|00000e70| 68 65 20 75 6e 64 6f 20 | 6c 69 73 74 2e 1f 0a 28 |he undo |list...(|
|00000e80| 64 65 66 76 61 72 20 64 | 65 63 69 70 68 65 72 2d |defvar d|ecipher-|
|00000e90| 75 6e 64 6f 2d 6c 69 73 | 74 2d 73 69 7a 65 20 30 |undo-lis|t-size 0|
|00000ea0| 20 28 23 24 20 2e 20 33 | 36 37 30 29 29 0a 28 6d | (#$ . 3|670)).(m|
|00000eb0| 61 6b 65 2d 76 61 72 69 | 61 62 6c 65 2d 62 75 66 |ake-vari|able-buf|
|00000ec0| 66 65 72 2d 6c 6f 63 61 | 6c 20 27 64 65 63 69 70 |fer-loca|l 'decip|
|00000ed0| 68 65 72 2d 75 6e 64 6f | 2d 6c 69 73 74 2d 73 69 |her-undo|-list-si|
|00000ee0| 7a 65 29 0a 23 40 31 32 | 34 20 54 68 65 20 75 6e |ze).#@12|4 The un|
|00000ef0| 64 6f 20 6c 69 73 74 20 | 66 6f 72 20 74 68 69 73 |do list |for this|
|00000f00| 20 62 75 66 66 65 72 2e | 0a 45 61 63 68 20 65 6c | buffer.|.Each el|
|00000f10| 65 6d 65 6e 74 20 69 73 | 20 65 69 74 68 65 72 20 |ement is| either |
|00000f20| 61 20 63 6f 6e 73 20 63 | 65 6c 6c 20 28 50 4c 41 |a cons c|ell (PLA|
|00000f30| 49 4e 2d 43 48 41 52 20 | 2e 20 43 49 50 48 45 52 |IN-CHAR |. CIPHER|
|00000f40| 2d 43 48 41 52 29 20 6f | 72 20 61 0a 6c 69 73 74 |-CHAR) o|r a.list|
|00000f50| 20 6f 66 20 73 75 63 68 | 20 63 6f 6e 73 20 63 65 | of such| cons ce|
|00000f60| 6c 6c 73 2e 1f 0a 28 64 | 65 66 76 61 72 20 64 65 |lls...(d|efvar de|
|00000f70| 63 69 70 68 65 72 2d 75 | 6e 64 6f 2d 6c 69 73 74 |cipher-u|ndo-list|
|00000f80| 20 6e 69 6c 20 28 23 24 | 20 2e 20 33 38 31 38 29 | nil (#$| . 3818)|
|00000f90| 29 0a 28 62 79 74 65 2d | 63 6f 64 65 20 22 c0 c1 |).(byte-|code "..|
|00000fa0| 21 88 c2 c3 21 ac 82 c4 | 13 c3 0d 42 15 c4 87 22 |!...!...|...B..."|
|00000fb0| 20 5b 6d 61 6b 65 2d 76 | 61 72 69 61 62 6c 65 2d | [make-v|ariable-|
|00000fc0| 62 75 66 66 65 72 2d 6c | 6f 63 61 6c 20 64 65 63 |buffer-l|ocal dec|
|00000fd0| 69 70 68 65 72 2d 75 6e | 64 6f 2d 6c 69 73 74 20 |ipher-un|do-list |
|00000fe0| 62 6f 75 6e 64 70 20 64 | 65 63 69 70 68 65 72 2d |boundp d|ecipher-|
|00000ff0| 70 65 6e 64 69 6e 67 2d | 75 6e 64 6f 2d 6c 69 73 |pending-|undo-lis|
|00001000| 74 20 6e 69 6c 20 63 75 | 72 72 65 6e 74 2d 6c 6f |t nil cu|rrent-lo|
|00001010| 61 64 2d 6c 69 73 74 5d | 20 32 29 0a 23 40 37 34 |ad-list]| 2).#@74|
|00001020| 20 53 65 65 20 74 68 65 | 20 66 75 6e 63 74 69 6f | See the| functio|
|00001030| 6e 73 20 64 65 63 69 70 | 68 65 72 2d 6c 6f 6f 70 |ns decip|her-loop|
|00001040| 2d 77 69 74 68 2d 62 72 | 65 61 6b 73 20 61 6e 64 |-with-br|eaks and|
|00001050| 20 64 65 63 69 70 68 65 | 72 2d 6c 6f 6f 70 2d 6e | deciphe|r-loop-n|
|00001060| 6f 2d 62 72 65 61 6b 73 | 2e 1f 0a 28 64 65 66 76 |o-breaks|...(defv|
|00001070| 61 72 20 64 65 63 69 70 | 68 65 72 2d 63 68 61 72 |ar decip|her-char|
|00001080| 20 6e 69 6c 20 28 23 24 | 20 2e 20 34 31 32 39 29 | nil (#$| . 4129)|
|00001090| 29 0a 28 62 79 74 65 2d | 63 6f 64 65 20 22 c0 09 |).(byte-|code "..|
|000010a0| 42 11 c2 09 42 11 c3 09 | 42 11 c4 09 42 11 c5 09 |B...B...|B...B...|
|000010b0| 42 11 c6 09 42 11 c0 87 | 22 20 5b 64 65 63 69 70 |B...B...|" [decip|
|000010c0| 68 65 72 2d 2d 70 72 65 | 76 2d 63 68 61 72 20 63 |her--pre|v-char c|
|000010d0| 75 72 72 65 6e 74 2d 6c | 6f 61 64 2d 6c 69 73 74 |urrent-l|oad-list|
|000010e0| 20 64 65 63 69 70 68 65 | 72 2d 2d 64 69 67 72 61 | deciphe|r--digra|
|000010f0| 6d 20 64 65 63 69 70 68 | 65 72 2d 2d 64 69 67 72 |m deciph|er--digr|
|00001100| 61 6d 2d 6c 69 73 74 20 | 64 65 63 69 70 68 65 72 |am-list |decipher|
|00001110| 2d 2d 62 65 66 6f 72 65 | 20 64 65 63 69 70 68 65 |--before| deciphe|
|00001120| 72 2d 2d 61 66 74 65 72 | 20 64 65 63 69 70 68 65 |r--after| deciphe|
|00001130| 72 2d 2d 66 72 65 71 73 | 5d 20 32 29 0a 23 40 37 |r--freqs|] 2).#@7|
|00001140| 34 20 46 6f 72 6d 61 74 | 20 61 20 62 75 66 66 65 |4 Format| a buffe|
|00001150| 72 20 6f 66 20 63 69 70 | 68 65 72 74 65 78 74 20 |r of cip|hertext |
|00001160| 66 6f 72 20 63 72 79 70 | 74 61 6e 61 6c 79 73 69 |for cryp|tanalysi|
|00001170| 73 20 61 6e 64 20 65 6e | 74 65 72 20 44 65 63 69 |s and en|ter Deci|
|00001180| 70 68 65 72 20 6d 6f 64 | 65 2e 1f 0a 28 64 65 66 |pher mod|e...(def|
|00001190| 61 6c 69 61 73 20 27 64 | 65 63 69 70 68 65 72 20 |alias 'd|ecipher |
|000011a0| 23 5b 6e 69 6c 20 22 64 | 62 88 6e ac 83 c0 63 88 |#[nil "d|b.n...c.|
|000011b0| 65 62 88 c1 c2 21 ab 86 | c3 c4 21 88 aa bd c5 63 |eb...!..|..!....c|
|000011c0| 88 c6 1e 07 6d ac ad c1 | c8 21 ab 85 c6 79 88 aa |....m...|.!...y..|
|000011d0| 73 c9 20 88 6c ab 85 c6 | 79 88 aa 68 ca 63 88 60 |s. .l...|y..h.c.`|
|000011e0| 16 07 c6 79 88 0e 0b ab | 86 cc 0e 07 60 5c 22 88 |...y....|....`\".|
|000011f0| cd 63 88 aa 50 29 ce 20 | 88 ce 20 88 cf d0 21 88 |.c..P). |.. ...!.|
|00001200| d1 20 87 22 20 5b 22 5c | 6e 22 20 6c 6f 6f 6b 69 |. ." ["\|n" looki|
|00001210| 6e 67 2d 61 74 20 22 5e | 28 61 62 63 64 65 66 67 |ng-at "^|(abcdefg|
|00001220| 68 69 6a 6b 6c 6d 6e 6f | 70 71 72 73 74 75 76 77 |hijklmno|pqrstuvw|
|00001230| 78 79 7a 20 20 20 41 42 | 43 44 45 46 47 48 49 4a |xyz AB|CDEFGHIJ|
|00001240| 4b 4c 4d 4e 4f 50 51 52 | 53 54 55 56 57 58 59 5a |KLMNOPQR|STUVWXYZ|
|00001250| 20 20 20 2d 5c 5c 2a 2d | 64 65 63 69 70 68 65 72 | -\\*-|decipher|
|00001260| 2d 5c 5c 2a 2d 5c 6e 29 | 22 20 6d 65 73 73 61 67 |-\\*-\n)|" messag|
|00001270| 65 20 22 42 75 66 66 65 | 72 20 69 73 20 61 6c 72 |e "Buffe|r is alr|
|00001280| 65 61 64 79 20 66 6f 72 | 6d 61 74 74 65 64 2c 20 |eady for|matted, |
|00001290| 65 6e 74 65 72 69 6e 67 | 20 44 65 63 69 70 68 65 |entering| Deciphe|
|000012a0| 72 20 6d 6f 64 65 2e 2e | 2e 22 20 22 28 61 62 63 |r mode..|." "(abc|
|000012b0| 64 65 66 67 68 69 6a 6b | 6c 6d 6e 6f 70 71 72 73 |defghijk|lmnopqrs|
|000012c0| 74 75 76 77 78 79 7a 20 | 20 20 41 42 43 44 45 46 |tuvwxyz | ABCDEF|
|000012d0| 47 48 49 4a 4b 4c 4d 4e | 4f 50 51 52 53 54 55 56 |GHIJKLMN|OPQRSTUV|
|000012e0| 57 58 59 5a 20 20 20 2d | 2a 2d 64 65 63 69 70 68 |WXYZ -|*-deciph|
|000012f0| 65 72 2d 2a 2d 5c 6e 29 | 5c 6e 5c 6e 22 20 6e 69 |er-*-\n)|\n\n" ni|
|00001300| 6c 20 62 65 67 69 6e 20 | 22 5e 25 22 20 64 65 6c |l begin |"^%" del|
|00001310| 65 74 65 2d 68 6f 72 69 | 7a 6f 6e 74 61 6c 2d 73 |ete-hori|zontal-s|
|00001320| 70 61 63 65 20 22 3a 22 | 20 64 65 63 69 70 68 65 |pace ":"| deciphe|
|00001330| 72 2d 66 6f 72 63 65 2d | 75 70 70 65 72 63 61 73 |r-force-|uppercas|
|00001340| 65 20 75 70 63 61 73 65 | 2d 72 65 67 69 6f 6e 20 |e upcase|-region |
|00001350| 22 3e 5c 6e 22 20 64 65 | 6c 65 74 65 2d 62 6c 61 |">\n" de|lete-bla|
|00001360| 6e 6b 2d 6c 69 6e 65 73 | 20 67 6f 74 6f 2d 6c 69 |nk-lines| goto-li|
|00001370| 6e 65 20 34 20 64 65 63 | 69 70 68 65 72 2d 6d 6f |ne 4 dec|ipher-mo|
|00001380| 64 65 5d 20 33 20 28 23 | 24 20 2e 20 34 34 31 38 |de] 3 (#|$ . 4418|
|00001390| 29 20 6e 69 6c 5d 29 0a | 23 40 36 36 39 20 4d 61 |) nil]).|#@669 Ma|
|000013a0| 6a 6f 72 20 6d 6f 64 65 | 20 66 6f 72 20 64 65 63 |jor mode| for dec|
|000013b0| 72 79 70 74 69 6e 67 20 | 6d 6f 6e 6f 61 6c 70 68 |rypting |monoalph|
|000013c0| 61 62 65 74 69 63 20 73 | 75 62 73 74 69 74 75 74 |abetic s|ubstitut|
|000013d0| 69 6f 6e 20 63 69 70 68 | 65 72 73 2e 0a 4c 6f 77 |ion ciph|ers..Low|
|000013e0| 65 72 2d 63 61 73 65 20 | 6c 65 74 74 65 72 73 20 |er-case |letters |
|000013f0| 65 6e 74 65 72 20 70 6c | 61 69 6e 74 65 78 74 2e |enter pl|aintext.|
|00001400| 0a 55 70 70 65 72 2d 63 | 61 73 65 20 6c 65 74 74 |.Upper-c|ase lett|
|00001410| 65 72 73 20 61 72 65 20 | 63 6f 6d 6d 61 6e 64 73 |ers are |commands|
|00001420| 2e 0a 0a 54 68 65 20 62 | 75 66 66 65 72 20 69 73 |...The b|uffer is|
|00001430| 20 6d 61 64 65 20 72 65 | 61 64 2d 6f 6e 6c 79 20 | made re|ad-only |
|00001440| 73 6f 20 74 68 61 74 20 | 6e 6f 72 6d 61 6c 20 45 |so that |normal E|
|00001450| 6d 61 63 73 20 63 6f 6d | 6d 61 6e 64 73 20 63 61 |macs com|mands ca|
|00001460| 6e 6e 6f 74 0a 6d 6f 64 | 69 66 79 20 69 74 2e 0a |nnot.mod|ify it..|
|00001470| 0a 54 68 65 20 6d 6f 73 | 74 20 75 73 65 66 75 6c |.The mos|t useful|
|00001480| 20 63 6f 6d 6d 61 6e 64 | 73 20 61 72 65 3a 0a 5c | command|s are:.\|
|00001490| 3c 64 65 63 69 70 68 65 | 72 2d 6d 6f 64 65 2d 6d |<deciphe|r-mode-m|
|000014a0| 61 70 3e 0a 5c 5b 64 65 | 63 69 70 68 65 72 2d 64 |ap>.\[de|cipher-d|
|000014b0| 69 67 72 61 6d 2d 6c 69 | 73 74 5d 20 20 44 69 73 |igram-li|st] Dis|
|000014c0| 70 6c 61 79 20 61 20 6c | 69 73 74 20 6f 66 20 61 |play a l|ist of a|
|000014d0| 6c 6c 20 64 69 67 72 61 | 6d 73 20 26 20 74 68 65 |ll digra|ms & the|
|000014e0| 69 72 20 66 72 65 71 75 | 65 6e 63 79 0a 5c 5b 64 |ir frequ|ency.\[d|
|000014f0| 65 63 69 70 68 65 72 2d | 66 72 65 71 75 65 6e 63 |ecipher-|frequenc|
|00001500| 79 2d 63 6f 75 6e 74 5d | 20 20 44 69 73 70 6c 61 |y-count]| Displa|
|00001510| 79 20 74 68 65 20 66 72 | 65 71 75 65 6e 63 79 20 |y the fr|equency |
|00001520| 6f 66 20 65 61 63 68 20 | 63 69 70 68 65 72 74 65 |of each |cipherte|
|00001530| 78 74 20 6c 65 74 74 65 | 72 0a 5c 5b 64 65 63 69 |xt lette|r.\[deci|
|00001540| 70 68 65 72 2d 61 64 6a | 61 63 65 6e 63 79 2d 6c |pher-adj|acency-l|
|00001550| 69 73 74 5d 20 20 53 68 | 6f 77 20 61 64 6a 61 63 |ist] Sh|ow adjac|
|00001560| 65 6e 63 79 20 6c 69 73 | 74 20 66 6f 72 20 63 75 |ency lis|t for cu|
|00001570| 72 72 65 6e 74 20 6c 65 | 74 74 65 72 20 28 6c 69 |rrent le|tter (li|
|00001580| 73 74 73 20 6c 65 74 74 | 65 72 73 20 61 70 70 65 |sts lett|ers appe|
|00001590| 61 72 69 6e 67 20 6e 65 | 78 74 20 74 6f 20 69 74 |aring ne|xt to it|
|000015a0| 29 0a 5c 5b 64 65 63 69 | 70 68 65 72 2d 6d 61 6b |).\[deci|pher-mak|
|000015b0| 65 2d 63 68 65 63 6b 70 | 6f 69 6e 74 5d 20 20 53 |e-checkp|oint] S|
|000015c0| 61 76 65 20 74 68 65 20 | 63 75 72 72 65 6e 74 20 |ave the |current |
|000015d0| 63 69 70 68 65 72 20 61 | 6c 70 68 61 62 65 74 20 |cipher a|lphabet |
|000015e0| 28 63 68 65 63 6b 70 6f | 69 6e 74 29 0a 5c 5b 64 |(checkpo|int).\[d|
|000015f0| 65 63 69 70 68 65 72 2d | 72 65 73 74 6f 72 65 2d |ecipher-|restore-|
|00001600| 63 68 65 63 6b 70 6f 69 | 6e 74 5d 20 20 52 65 73 |checkpoi|nt] Res|
|00001610| 74 6f 72 65 20 61 20 73 | 61 76 65 64 20 63 69 70 |tore a s|aved cip|
|00001620| 68 65 72 20 61 6c 70 68 | 61 62 65 74 20 28 63 68 |her alph|abet (ch|
|00001630| 65 63 6b 70 6f 69 6e 74 | 29 1f 0a 28 64 65 66 61 |eckpoint|)..(defa|
|00001640| 6c 69 61 73 20 27 64 65 | 63 69 70 68 65 72 2d 6d |lias 'de|cipher-m|
|00001650| 6f 64 65 20 23 5b 6e 69 | 6c 20 22 c0 20 88 c1 12 |ode #[ni|l ". ...|
|00001660| c3 14 c5 16 06 c7 16 08 | 0e 09 ab 83 c3 16 5c 6e |........|......\n|
|00001670| cb 0e 0c 21 88 cd 0e 0e | 21 88 cf 20 88 d0 d1 21 |...!....|!.. ...!|
|00001680| d2 4c 88 d3 d4 21 88 d5 | d4 d6 c3 c1 24 88 d7 d8 |.L...!..|....$...|
|00001690| 21 88 c1 89 16 19 87 22 | 20 5b 6b 69 6c 6c 2d 61 |!......"| [kill-a|
|000016a0| 6c 6c 2d 6c 6f 63 61 6c | 2d 76 61 72 69 61 62 6c |ll-local|-variabl|
|000016b0| 65 73 20 74 20 62 75 66 | 66 65 72 2d 75 6e 64 6f |es t buf|fer-undo|
|000016c0| 2d 6c 69 73 74 20 6e 69 | 6c 20 69 6e 64 65 6e 74 |-list ni|l indent|
|000016d0| 2d 74 61 62 73 2d 6d 6f | 64 65 20 64 65 63 69 70 |-tabs-mo|de decip|
|000016e0| 68 65 72 2d 6d 6f 64 65 | 20 6d 61 6a 6f 72 2d 6d |her-mode| major-m|
|000016f0| 6f 64 65 20 22 44 65 63 | 69 70 68 65 72 22 20 6d |ode "Dec|ipher" m|
|00001700| 6f 64 65 2d 6e 61 6d 65 | 20 64 65 63 69 70 68 65 |ode-name| deciphe|
|00001710| 72 2d 66 6f 72 63 65 2d | 75 70 70 65 72 63 61 73 |r-force-|uppercas|
|00001720| 65 20 63 61 73 65 2d 66 | 6f 6c 64 2d 73 65 61 72 |e case-f|old-sear|
|00001730| 63 68 20 75 73 65 2d 6c | 6f 63 61 6c 2d 6d 61 70 |ch use-l|ocal-map|
|00001740| 20 64 65 63 69 70 68 65 | 72 2d 6d 6f 64 65 2d 6d | deciphe|r-mode-m|
|00001750| 61 70 20 73 65 74 2d 73 | 79 6e 74 61 78 2d 74 61 |ap set-s|yntax-ta|
|00001760| 62 6c 65 20 64 65 63 69 | 70 68 65 72 2d 6d 6f 64 |ble deci|pher-mod|
|00001770| 65 2d 73 79 6e 74 61 78 | 2d 74 61 62 6c 65 20 64 |e-syntax|-table d|
|00001780| 65 63 69 70 68 65 72 2d | 72 65 61 64 2d 61 6c 70 |ecipher-|read-alp|
|00001790| 68 61 62 65 74 20 6d 61 | 6b 65 2d 6c 6f 63 61 6c |habet ma|ke-local|
|000017a0| 2d 76 61 72 69 61 62 6c | 65 20 66 6f 6e 74 2d 6c |-variabl|e font-l|
|000017b0| 6f 63 6b 2d 64 65 66 61 | 75 6c 74 73 20 28 64 65 |ock-defa|ults (de|
|000017c0| 63 69 70 68 65 72 2d 66 | 6f 6e 74 2d 6c 6f 63 6b |cipher-f|ont-lock|
|000017d0| 2d 6b 65 79 77 6f 72 64 | 73 20 74 29 20 6d 61 6b |-keyword|s t) mak|
|000017e0| 65 2d 6c 6f 63 61 6c 2d | 68 6f 6f 6b 20 63 68 61 |e-local-|hook cha|
|000017f0| 6e 67 65 2d 6d 61 6a 6f | 72 2d 6d 6f 64 65 2d 68 |nge-majo|r-mode-h|
|00001800| 6f 6f 6b 20 61 64 64 2d | 68 6f 6f 6b 20 23 5b 6e |ook add-|hook #[n|
|00001810| 69 6c 20 22 c0 11 c0 89 | 12 87 22 20 5b 6e 69 6c |il "....|.." [nil|
|00001820| 20 62 75 66 66 65 72 2d | 72 65 61 64 2d 6f 6e 6c | buffer-|read-onl|
|00001830| 79 20 62 75 66 66 65 72 | 2d 75 6e 64 6f 2d 6c 69 |y buffer|-undo-li|
|00001840| 73 74 5d 20 32 5d 20 72 | 75 6e 2d 68 6f 6f 6b 73 |st] 2] r|un-hooks|
|00001850| 20 64 65 63 69 70 68 65 | 72 2d 6d 6f 64 65 2d 68 | deciphe|r-mode-h|
|00001860| 6f 6f 6b 20 62 75 66 66 | 65 72 2d 72 65 61 64 2d |ook buff|er-read-|
|00001870| 6f 6e 6c 79 5d 20 35 20 | 28 23 24 20 2e 20 35 30 |only] 5 |(#$ . 50|
|00001880| 32 32 29 20 6e 69 6c 5d | 29 0a 28 70 75 74 20 27 |22) nil]|).(put '|
|00001890| 64 65 63 69 70 68 65 72 | 2d 6d 6f 64 65 20 27 6d |decipher|-mode 'm|
|000018a0| 6f 64 65 2d 63 6c 61 73 | 73 20 27 73 70 65 63 69 |ode-clas|s 'speci|
|000018b0| 61 6c 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 64 |al).(def|alias 'd|
|000018c0| 65 63 69 70 68 65 72 2d | 6c 61 73 74 2d 63 6f 6d |ecipher-|last-com|
|000018d0| 6d 61 6e 64 2d 63 68 61 | 72 20 27 28 6d 61 63 72 |mand-cha|r '(macr|
|000018e0| 6f 20 2e 20 23 5b 6e 69 | 6c 20 22 c0 c1 21 ab 82 |o . #[ni|l "..!..|
|000018f0| c2 87 c3 87 22 20 5b 66 | 62 6f 75 6e 64 70 20 65 |...." [f|boundp e|
|00001900| 76 65 6e 74 2d 74 6f 2d | 63 68 61 72 61 63 74 65 |vent-to-|characte|
|00001910| 72 20 28 65 76 65 6e 74 | 2d 74 6f 2d 63 68 61 72 |r (event|-to-char|
|00001920| 61 63 74 65 72 20 6c 61 | 73 74 2d 63 6f 6d 6d 61 |acter la|st-comma|
|00001930| 6e 64 2d 65 76 65 6e 74 | 29 20 6c 61 73 74 2d 63 |nd-event|) last-c|
|00001940| 6f 6d 6d 61 6e 64 2d 65 | 76 65 6e 74 5d 20 32 5d |ommand-e|vent] 2]|
|00001950| 29 29 0a 23 40 34 34 20 | 45 6e 74 65 72 20 61 20 |)).#@44 |Enter a |
|00001960| 70 6c 61 69 6e 74 65 78 | 74 20 6f 72 20 63 69 70 |plaintex|t or cip|
|00001970| 68 65 72 74 65 78 74 20 | 63 68 61 72 61 63 74 65 |hertext |characte|
|00001980| 72 2e 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 64 |r...(def|alias 'd|
|00001990| 65 63 69 70 68 65 72 2d | 6b 65 79 70 72 65 73 73 |ecipher-|keypress|
|000019a0| 20 23 5b 6e 69 6c 20 22 | c0 c1 1a 1b 8a 8a c4 79 | #[nil "|.......y|
|000019b0| 88 67 1d c6 0d 55 ab 83 | c7 aa 9f c8 0d 55 ab 83 |.g...U..|.....U..|
|000019c0| c1 aa 97 c9 0d 55 ab 85 | ca 13 c7 aa 8d cb 0d 55 |.....U..|.......U|
|000019d0| ab 85 ca 13 c1 aa 83 cc | cd 21 2a ac 88 c1 1e 0e |........|.!*.....|
|000019e0| cf d0 21 88 29 67 d1 0e | 12 21 1e 13 1e 14 d5 0e |..!.)g..|.!......|
|000019f0| 14 7a 55 ac 86 0e 13 d6 | 55 ac 87 0b 0e 14 0e 13 |.zU.....|U.......|
|00001a00| 5c 22 88 2d c1 75 87 22 | 20 5b 64 65 63 69 70 68 |\".-.u."| [deciph|
|00001a10| 65 72 2d 73 65 74 2d 6d | 61 70 20 6e 69 6c 20 62 |er-set-m|ap nil b|
|00001a20| 75 66 66 65 72 2d 72 65 | 61 64 2d 6f 6e 6c 79 20 |uffer-re|ad-only |
|00001a30| 64 65 63 69 70 68 65 72 | 2d 66 75 6e 63 74 69 6f |decipher|-functio|
|00001a40| 6e 20 30 20 66 69 72 73 | 74 2d 63 68 61 72 20 3f |n 0 firs|t-char ?|
|00001a50| 5c 3a 20 74 20 3f 5c 3e | 20 3f 5c 28 20 64 65 63 |\: t ?\>| ?\( dec|
|00001a60| 69 70 68 65 72 2d 61 6c | 70 68 61 62 65 74 2d 6b |ipher-al|phabet-k|
|00001a70| 65 79 70 72 65 73 73 20 | 3f 5c 29 20 65 72 72 6f |eypress |?\) erro|
|00001a80| 72 20 22 42 61 64 20 6c | 6f 63 61 74 69 6f 6e 22 |r "Bad l|ocation"|
|00001a90| 20 67 6f 61 6c 2d 63 6f | 6c 75 6d 6e 20 70 72 65 | goal-co|lumn pre|
|00001aa0| 76 69 6f 75 73 2d 6c 69 | 6e 65 20 31 20 65 76 65 |vious-li|ne 1 eve|
|00001ab0| 6e 74 2d 74 6f 2d 63 68 | 61 72 61 63 74 65 72 20 |nt-to-ch|aracter |
|00001ac0| 6c 61 73 74 2d 63 6f 6d | 6d 61 6e 64 2d 65 76 65 |last-com|mand-eve|
|00001ad0| 6e 74 20 63 68 61 72 2d | 62 20 63 68 61 72 2d 61 |nt char-|b char-a|
|00001ae0| 20 3f 77 20 3f 5c 20 5d | 20 33 20 28 23 24 20 2e | ?w ?\ ]| 3 (#$ .|
|00001af0| 20 36 34 38 38 29 20 6e | 69 6c 5d 29 0a 28 64 65 | 6488) n|il]).(de|
|00001b00| 66 61 6c 69 61 73 20 27 | 64 65 63 69 70 68 65 72 |falias '|decipher|
|00001b10| 2d 61 6c 70 68 61 62 65 | 74 2d 6b 65 79 70 72 65 |-alphabe|t-keypre|
|00001b20| 73 73 20 23 5b 28 61 20 | 62 29 20 22 08 c1 59 ab |ss #[(a |b) "..Y.|
|00001b30| 8a 08 c2 58 ab 85 c3 08 | 0c 5c 22 87 08 c5 59 ab |...X....|.\"...Y.|
|00001b40| a1 08 c6 58 ab 9c 0c c7 | 55 ab 92 c8 08 0e 09 5c |...X....|U......\|
|00001b50| 22 41 89 14 c7 55 3f ad | 89 c3 0c c7 5c 22 87 c3 |"A...U?.|....\"..|
|00001b60| 0c 08 5c 22 87 ca cb 21 | 87 22 20 5b 61 20 3f 41 |..\"...!|." [a ?A|
|00001b70| 20 3f 5a 20 64 65 63 69 | 70 68 65 72 2d 73 65 74 | ?Z deci|pher-set|
|00001b80| 2d 6d 61 70 20 62 20 3f | 61 20 3f 7a 20 3f 5c 20 |-map b ?|a ?z ?\ |
|00001b90| 20 61 73 73 6f 63 20 64 | 65 63 69 70 68 65 72 2d | assoc d|ecipher-|
|00001ba0| 61 6c 70 68 61 62 65 74 | 20 65 72 72 6f 72 20 22 |alphabet| error "|
|00001bb0| 42 61 64 20 63 68 61 72 | 61 63 74 65 72 22 5d 20 |Bad char|acter"] |
|00001bc0| 33 5d 29 0a 23 40 33 33 | 20 55 6e 64 6f 20 61 20 |3]).#@33| Undo a |
|00001bd0| 63 68 61 6e 67 65 20 69 | 6e 20 44 65 63 69 70 68 |change i|n Deciph|
|00001be0| 65 72 20 6d 6f 64 65 2e | 1f 0a 28 64 65 66 61 6c |er mode.|..(defal|
|00001bf0| 69 61 73 20 27 64 65 63 | 69 70 68 65 72 2d 75 6e |ias 'dec|ipher-un|
|00001c00| 64 6f 20 23 5b 6e 69 6c | 20 22 c0 11 5c 6e c3 61 |do #[nil| "..\n.a|
|00001c10| ac 84 c4 c5 21 88 0e 06 | c7 61 ac 84 0e 08 16 09 |....!...|.a......|
|00001c20| 0e 09 ac 84 c4 ca 21 88 | 0e 09 89 41 16 09 40 cb |......!.|...A..@.|
|00001c30| 89 89 89 1e 0c 1e 0d 1e | 0e 1e 0f 89 1e 10 40 3a |........|......@:|
|00001c40| ac 85 0e 10 43 16 10 0e | 10 89 41 16 10 40 89 16 |....C...|..A..@..|
|00001c50| 0c ab ae d1 0e 0c 41 0e | 0c 40 5c 22 89 16 0e ab |......A.|.@\"....|
|00001c60| 95 0e 0e 40 3a ab 88 d2 | 0e 0e 0e 0d 5c 22 aa 85 |...@:...|....\"..|
|00001c70| 0e 0e 0e 0d 42 16 0d d3 | 0e 0c 41 0e 0c 40 c0 23 |....B...|..A..@.#|
|00001c80| 88 aa 46 d4 0e 0d 21 88 | 2d c7 11 d5 d6 21 87 22 |..F...!.|-....!."|
|00001c90| 20 5b 74 20 74 68 69 73 | 2d 63 6f 6d 6d 61 6e 64 | [t this|-command|
|00001ca0| 20 6d 61 6a 6f 72 2d 6d | 6f 64 65 20 64 65 63 69 | major-m|ode deci|
|00001cb0| 70 68 65 72 2d 6d 6f 64 | 65 20 65 72 72 6f 72 20 |pher-mod|e error |
|00001cc0| 22 54 68 69 73 20 62 75 | 66 66 65 72 20 69 73 20 |"This bu|ffer is |
|00001cd0| 6e 6f 74 20 69 6e 20 44 | 65 63 69 70 68 65 72 20 |not in D|ecipher |
|00001ce0| 6d 6f 64 65 22 20 6c 61 | 73 74 2d 63 6f 6d 6d 61 |mode" la|st-comma|
|00001cf0| 6e 64 20 64 65 63 69 70 | 68 65 72 2d 75 6e 64 6f |nd decip|her-undo|
|00001d00| 20 64 65 63 69 70 68 65 | 72 2d 75 6e 64 6f 2d 6c | deciphe|r-undo-l|
|00001d10| 69 73 74 20 64 65 63 69 | 70 68 65 72 2d 70 65 6e |ist deci|pher-pen|
|00001d20| 64 69 6e 67 2d 75 6e 64 | 6f 2d 6c 69 73 74 20 22 |ding-und|o-list "|
|00001d30| 4e 6f 20 66 75 72 74 68 | 65 72 20 75 6e 64 6f 20 |No furth|er undo |
|00001d40| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 22 20 6e 69 6c |informat|ion" nil|
|00001d50| 20 75 6e 64 6f 2d 6d 61 | 70 20 72 65 64 6f 2d 72 | undo-ma|p redo-r|
|00001d60| 65 63 20 72 65 64 6f 2d | 6d 61 70 20 62 75 66 66 |ec redo-|map buff|
|00001d70| 65 72 2d 72 65 61 64 2d | 6f 6e 6c 79 20 75 6e 64 |er-read-|only und|
|00001d80| 6f 2d 72 65 63 20 64 65 | 63 69 70 68 65 72 2d 67 |o-rec de|cipher-g|
|00001d90| 65 74 2d 75 6e 64 6f 20 | 61 70 70 65 6e 64 20 64 |et-undo |append d|
|00001da0| 65 63 69 70 68 65 72 2d | 73 65 74 2d 6d 61 70 20 |ecipher-|set-map |
|00001db0| 64 65 63 69 70 68 65 72 | 2d 61 64 64 2d 75 6e 64 |decipher|-add-und|
|00001dc0| 6f 20 6d 65 73 73 61 67 | 65 20 22 55 6e 64 6f 21 |o messag|e "Undo!|
|00001dd0| 22 5d 20 36 20 28 23 24 | 20 2e 20 37 31 31 33 29 |"] 6 (#$| . 7113)|
|00001de0| 20 6e 69 6c 5d 29 0a 23 | 40 33 32 20 41 64 64 20 | nil]).#|@32 Add |
|00001df0| 55 4e 44 4f 2d 52 45 43 | 20 74 6f 20 74 68 65 20 |UNDO-REC| to the |
|00001e00| 75 6e 64 6f 20 6c 69 73 | 74 2e 1f 0a 28 64 65 66 |undo lis|t...(def|
|00001e10| 61 6c 69 61 73 20 27 64 | 65 63 69 70 68 65 72 2d |alias 'd|ecipher-|
|00001e20| 61 64 64 2d 75 6e 64 6f | 20 23 5b 28 75 6e 64 6f |add-undo| #[(undo|
|00001e30| 2d 72 65 63 29 20 22 08 | ad 9b 08 09 42 11 5c 6e |-rec) ".|....B.\n|
|00001e40| 54 89 12 0b 56 ad 8f 0b | c4 5a 89 1d 53 09 9b c6 |T...V...|.Z..S...|
|00001e50| a1 88 0d 89 12 29 87 22 | 20 5b 75 6e 64 6f 2d 72 |.....)."| [undo-r|
|00001e60| 65 63 20 64 65 63 69 70 | 68 65 72 2d 75 6e 64 6f |ec decip|her-undo|
|00001e70| 2d 6c 69 73 74 20 64 65 | 63 69 70 68 65 72 2d 75 |-list de|cipher-u|
|00001e80| 6e 64 6f 2d 6c 69 73 74 | 2d 73 69 7a 65 20 64 65 |ndo-list|-size de|
|00001e90| 63 69 70 68 65 72 2d 75 | 6e 64 6f 2d 6c 69 6d 69 |cipher-u|ndo-limi|
|00001ea0| 74 20 31 30 30 20 6e 65 | 77 2d 73 69 7a 65 20 6e |t 100 ne|w-size n|
|00001eb0| 69 6c 5d 20 33 20 28 23 | 24 20 2e 20 37 36 36 30 |il] 3 (#|$ . 7660|
|00001ec0| 29 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 64 |)]).(def|alias 'd|
|00001ed0| 65 63 69 70 68 65 72 2d | 67 65 74 2d 75 6e 64 6f |ecipher-|get-undo|
|00001ee0| 20 23 5b 28 63 69 70 68 | 65 72 2d 63 68 61 72 20 | #[(ciph|er-char |
|00001ef0| 70 6c 61 69 6e 2d 63 68 | 61 72 29 20 22 c0 c1 5c |plain-ch|ar) "..\|
|00001f00| 6e 0b 5c 22 21 c0 c4 0d | 0b 5c 22 21 1e 06 1e 07 |n.\"!...|.\"!....|
|00001f10| 0d c8 6b ab 84 0e 07 aa | a7 5c 6e 0e 06 41 6b ab |..k.....|.\n..Ak.|
|00001f20| 83 c9 aa 9d 0e 06 41 c8 | 6b ab 89 0e 07 ae 92 c8 |......A.|k.......|
|00001f30| 5c 6e 42 aa 8d 0e 07 ab | 87 0e 06 0e 07 44 aa 82 |\nB.....|.....D..|
|00001f40| 0e 06 2a 87 22 20 5b 63 | 6f 70 79 2d 6c 69 73 74 |..*." [c|opy-list|
|00001f50| 20 72 61 73 73 6f 63 20 | 63 69 70 68 65 72 2d 63 | rassoc |cipher-c|
|00001f60| 68 61 72 20 64 65 63 69 | 70 68 65 72 2d 61 6c 70 |har deci|pher-alp|
|00001f70| 68 61 62 65 74 20 61 73 | 73 6f 63 20 70 6c 61 69 |habet as|soc plai|
|00001f80| 6e 2d 63 68 61 72 20 70 | 6c 61 69 6e 2d 6d 61 70 |n-char p|lain-map|
|00001f90| 20 63 69 70 68 65 72 2d | 6d 61 70 20 3f 5c 20 20 | cipher-|map ?\ |
|00001fa0| 6e 69 6c 5d 20 35 5d 29 | 0a 28 64 65 66 61 6c 69 |nil] 5])|.(defali|
|00001fb0| 61 73 20 27 64 65 63 69 | 70 68 65 72 2d 73 65 74 |as 'deci|pher-set|
|00001fc0| 2d 6d 61 70 20 23 5b 28 | 63 69 70 68 65 72 2d 63 |-map #[(|cipher-c|
|00001fd0| 68 61 72 20 70 6c 61 69 | 6e 2d 63 68 61 72 20 26 |har plai|n-char &|
|00001fe0| 6f 70 74 69 6f 6e 61 6c | 20 6e 6f 2d 75 6e 64 6f |optional| no-undo|
|00001ff0| 29 20 22 08 96 89 10 c1 | 59 ab 85 08 c2 58 ac 84 |) ".....|Y....X..|
|00002000| c3 c4 21 88 0d ac 88 c6 | c7 08 0e 08 5c 22 21 88 |..!.....|....\"!.|
|00002010| c9 08 21 c9 0e 08 21 ca | 89 89 1e 0b 1e 0c 1e 0d |..!...!.|........|
|00002020| 1e 0e 1e 0f 8a 65 62 88 | d0 08 0e 11 5c 22 89 16 |.....eb.|....\"..|
|00002030| 0c ab 96 0e 0c d2 a1 88 | d3 d4 c9 0e 0c 40 21 50 |........|.....@!P|
|00002040| 21 88 d5 d2 21 88 d6 79 | 88 d7 0e 08 0e 11 5c 22 |!...!..y|......\"|
|00002050| 89 16 0c ab a2 0e 0c 41 | d2 55 ac 88 d8 0e 0c 41 |.......A|.U.....A|
|00002060| d2 d9 23 88 0e 0c 08 a1 | 88 d3 d4 0e 0e 50 21 88 |..#.....|.....P!.|
|00002070| d5 08 21 88 d6 79 88 d3 | da 0e 0f 50 21 88 d5 0e |..!..y..|...P!...|
|00002080| 08 21 88 d9 16 0d 0e 0f | 97 16 0f db 1e 1c d3 dd |.!......|........|
|00002090| ca d9 23 ad 98 8a ca 7f | 88 60 29 16 0b de 0e 0f |..#.....|.`).....|
|000020a0| 0e 0b df 23 ab 68 d5 0e | 08 21 88 aa 70 2e 07 87 |...#.h..|.!..p...|
|000020b0| 22 20 5b 63 69 70 68 65 | 72 2d 63 68 61 72 20 3f |" [ciphe|r-char ?|
|000020c0| 41 20 3f 5a 20 65 72 72 | 6f 72 20 22 42 61 64 20 |A ?Z err|or "Bad |
|000020d0| 63 68 61 72 61 63 74 65 | 72 22 20 6e 6f 2d 75 6e |characte|r" no-un|
|000020e0| 64 6f 20 64 65 63 69 70 | 68 65 72 2d 61 64 64 2d |do decip|her-add-|
|000020f0| 75 6e 64 6f 20 64 65 63 | 69 70 68 65 72 2d 67 65 |undo dec|ipher-ge|
|00002100| 74 2d 75 6e 64 6f 20 70 | 6c 61 69 6e 2d 63 68 61 |t-undo p|lain-cha|
|00002110| 72 20 63 68 61 72 2d 74 | 6f 2d 73 74 72 69 6e 67 |r char-t|o-string|
|00002120| 20 6e 69 6c 20 62 6f 75 | 6e 64 20 6d 61 70 70 69 | nil bou|nd mappi|
|00002130| 6e 67 20 63 61 73 65 2d | 66 6f 6c 64 2d 73 65 61 |ng case-|fold-sea|
|00002140| 72 63 68 20 70 6c 61 69 | 6e 2d 73 74 72 69 6e 67 |rch plai|n-string|
|00002150| 20 63 69 70 68 65 72 2d | 73 74 72 69 6e 67 20 72 | cipher-|string r|
|00002160| 61 73 73 6f 63 20 64 65 | 63 69 70 68 65 72 2d 61 |assoc de|cipher-a|
|00002170| 6c 70 68 61 62 65 74 20 | 3f 5c 20 20 73 65 61 72 |lphabet |?\ sear|
|00002180| 63 68 2d 66 6f 72 77 61 | 72 64 2d 72 65 67 65 78 |ch-forwa|rd-regex|
|00002190| 70 20 22 5e 28 5b 61 2d | 7a 5d 2a 22 20 64 65 63 |p "^([a-|z]*" dec|
|000021a0| 69 70 68 65 72 2d 69 6e | 73 65 72 74 20 30 20 61 |ipher-in|sert 0 a|
|000021b0| 73 73 6f 63 20 64 65 63 | 69 70 68 65 72 2d 73 65 |ssoc dec|ipher-se|
|000021c0| 74 2d 6d 61 70 20 74 20 | 22 5e 28 5b 61 2d 7a 5d |t-map t |"^([a-z]|
|000021d0| 2b 20 20 20 5b 41 2d 5a | 5d 2a 22 20 69 67 6e 6f |+ [A-Z|]*" igno|
|000021e0| 72 65 20 66 6f 6e 74 2d | 6c 6f 63 6b 2d 66 6f 6e |re font-|lock-fon|
|000021f0| 74 69 66 79 2d 72 65 67 | 69 6f 6e 2d 66 75 6e 63 |tify-reg|ion-func|
|00002200| 74 69 6f 6e 20 22 5e 3a | 22 20 73 65 61 72 63 68 |tion "^:|" search|
|00002210| 2d 66 6f 72 77 61 72 64 | 20 65 6e 64 5d 20 36 5d |-forward| end] 6]|
|00002220| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 64 65 63 |).(defal|ias 'dec|
|00002230| 69 70 68 65 72 2d 69 6e | 73 65 72 74 20 23 5b 28 |ipher-in|sert #[(|
|00002240| 63 68 61 72 29 20 22 69 | 53 18 8a c1 79 88 c2 67 |char) "i|S...y..g|
|00002250| 55 ac 89 c3 67 55 ac 84 | c4 c5 21 88 c6 08 c7 5c |U...gU..|..!....\|
|00002260| 22 88 6c ac 84 c8 c9 21 | 88 ca 0e 0b 21 2a 87 22 |".l....!|....!*."|
|00002270| 20 5b 63 6f 6c 20 6e 69 | 6c 20 3f 5c 3e 20 3f 5c | [col ni|l ?\> ?\|
|00002280| 29 20 65 72 72 6f 72 20 | 22 42 61 64 20 6c 6f 63 |) error |"Bad loc|
|00002290| 61 74 69 6f 6e 22 20 6d | 6f 76 65 2d 74 6f 2d 63 |ation" m|ove-to-c|
|000022a0| 6f 6c 75 6d 6e 20 74 20 | 64 65 6c 65 74 65 2d 63 |olumn t |delete-c|
|000022b0| 68 61 72 20 31 20 69 6e | 73 65 72 74 2d 61 6e 64 |har 1 in|sert-and|
|000022c0| 2d 69 6e 68 65 72 69 74 | 20 63 68 61 72 5d 20 33 |-inherit| char] 3|
|000022d0| 5d 29 0a 23 40 32 30 39 | 20 43 68 65 63 6b 70 6f |]).#@209| Checkpo|
|000022e0| 69 6e 74 20 74 68 65 20 | 63 75 72 72 65 6e 74 20 |int the |current |
|000022f0| 63 69 70 68 65 72 20 61 | 6c 70 68 61 62 65 74 2e |cipher a|lphabet.|
|00002300| 0a 54 68 69 73 20 72 65 | 63 6f 72 64 73 20 74 68 |.This re|cords th|
|00002310| 65 20 63 75 72 72 65 6e | 74 20 61 6c 70 68 61 62 |e curren|t alphab|
|00002320| 65 74 20 73 6f 20 79 6f | 75 20 63 61 6e 20 72 65 |et so yo|u can re|
|00002330| 74 75 72 6e 20 74 6f 20 | 69 74 20 6c 61 74 65 72 |turn to |it later|
|00002340| 2e 0a 59 6f 75 20 6d 61 | 79 20 68 61 76 65 20 61 |..You ma|y have a|
|00002350| 6e 79 20 6e 75 6d 62 65 | 72 20 6f 66 20 63 68 65 |ny numbe|r of che|
|00002360| 63 6b 70 6f 69 6e 74 73 | 2e 0a 54 79 70 65 20 60 |ckpoints|..Type `|
|00002370| 5c 5b 64 65 63 69 70 68 | 65 72 2d 72 65 73 74 6f |\[deciph|er-resto|
|00002380| 72 65 2d 63 68 65 63 6b | 70 6f 69 6e 74 5d 27 20 |re-check|point]' |
|00002390| 74 6f 20 72 65 73 74 6f | 72 65 20 61 20 63 68 65 |to resto|re a che|
|000023a0| 63 6b 70 6f 69 6e 74 2e | 1f 0a 28 64 65 66 61 6c |ckpoint.|..(defal|
|000023b0| 69 61 73 20 27 64 65 63 | 69 70 68 65 72 2d 6d 61 |ias 'dec|ipher-ma|
|000023c0| 6b 65 2d 63 68 65 63 6b | 70 6f 69 6e 74 20 23 5b |ke-check|point #[|
|000023d0| 28 64 65 73 63 29 20 22 | 08 3b ac 82 c1 10 c2 89 |(desc) "|.;......|
|000023e0| 89 1b 1c 1d 65 62 88 c6 | c7 21 88 c8 c9 ca 5c 22 |....eb..|.!....\"|
|000023f0| 88 cb 60 cc 5a 60 5c 22 | 15 c6 cd c2 ce 23 ac a1 |..`.Z`\"|.....#..|
|00002400| cf d0 c2 ca 23 ab 91 d1 | 79 88 d2 d3 21 ac 89 c2 |....#...|y...!...|
|00002410| 79 88 d4 63 88 d1 79 88 | d5 d6 d7 d8 5c 22 d9 b1 |y..c..y.|....\"..|
|00002420| 03 88 da 79 88 db 0d dc | 08 d4 b1 05 2b 87 22 20 |...y....|....+." |
|00002430| 5b 64 65 73 63 20 22 22 | 20 6e 69 6c 20 6d 61 70 |[desc ""| nil map|
|00002440| 70 69 6e 67 20 62 75 66 | 66 65 72 2d 72 65 61 64 |ping buf|fer-read|
|00002450| 2d 6f 6e 6c 79 20 61 6c | 70 68 61 62 65 74 20 72 |-only al|phabet r|
|00002460| 65 2d 73 65 61 72 63 68 | 2d 66 6f 72 77 61 72 64 |e-search|-forward|
|00002470| 20 22 5e 29 22 20 6d 6f | 76 65 2d 74 6f 2d 63 6f | "^)" mo|ve-to-co|
|00002480| 6c 75 6d 6e 20 32 37 20 | 74 20 62 75 66 66 65 72 |lumn 27 |t buffer|
|00002490| 2d 73 75 62 73 74 72 69 | 6e 67 2d 6e 6f 2d 70 72 |-substri|ng-no-pr|
|000024a0| 6f 70 65 72 74 69 65 73 | 20 32 36 20 22 5e 25 21 |operties| 26 "^%!|
|000024b0| 5b 41 2d 5a 20 5d 2b 21 | 22 20 65 6e 64 20 72 65 |[A-Z ]+!|" end re|
|000024c0| 2d 73 65 61 72 63 68 2d | 62 61 63 6b 77 61 72 64 |-search-|backward|
|000024d0| 20 22 5e 25 20 2a 4c 6f | 63 61 6c 20 56 61 72 69 | "^% *Lo|cal Vari|
|000024e0| 61 62 6c 65 73 3a 22 20 | 2d 31 20 6c 6f 6f 6b 69 |ables:" |-1 looki|
|000024f0| 6e 67 2d 61 74 20 22 5e | 20 2a 24 22 20 3f 5c 6e |ng-at "^| *$" ?\n|
|00002500| 20 22 5c 6e 25 22 20 6d | 61 6b 65 2d 73 74 72 69 | "\n%" m|ake-stri|
|00002510| 6e 67 20 36 39 20 3f 5c | 2d 20 22 5c 6e 25 20 43 |ng 69 ?\|- "\n% C|
|00002520| 68 65 63 6b 70 6f 69 6e | 74 73 3a 5c 6e 25 20 61 |heckpoin|ts:\n% a|
|00002530| 62 63 64 65 66 67 68 69 | 6a 6b 6c 6d 6e 6f 70 71 |bcdefghi|jklmnopq|
|00002540| 72 73 74 75 76 77 78 79 | 7a 5c 6e 22 20 30 20 22 |rstuvwxy|z\n" 0 "|
|00002550| 25 21 22 20 22 21 20 22 | 5d 20 35 20 28 23 24 20 |%!" "! "|] 5 (#$ |
|00002560| 2e 20 38 39 32 31 29 20 | 22 73 43 68 65 63 6b 70 |. 8921) |"sCheckp|
|00002570| 6f 69 6e 74 20 64 65 73 | 63 72 69 70 74 69 6f 6e |oint des|cription|
|00002580| 3a 20 22 5d 29 0a 23 40 | 32 33 35 20 52 65 73 74 |: "]).#@|235 Rest|
|00002590| 6f 72 65 20 74 68 65 20 | 63 69 70 68 65 72 20 61 |ore the |cipher a|
|000025a0| 6c 70 68 61 62 65 74 20 | 66 72 6f 6d 20 61 20 63 |lphabet |from a c|
|000025b0| 68 65 63 6b 70 6f 69 6e | 74 2e 0a 49 66 20 70 6f |heckpoin|t..If po|
|000025c0| 69 6e 74 20 69 73 20 6e | 6f 74 20 6f 6e 20 61 20 |int is n|ot on a |
|000025d0| 63 68 65 63 6b 70 6f 69 | 6e 74 20 6c 69 6e 65 2c |checkpoi|nt line,|
|000025e0| 20 6d 6f 76 65 73 20 74 | 6f 20 74 68 65 20 66 69 | moves t|o the fi|
|000025f0| 72 73 74 20 63 68 65 63 | 6b 70 6f 69 6e 74 20 6c |rst chec|kpoint l|
|00002600| 69 6e 65 2e 0a 49 66 20 | 70 6f 69 6e 74 20 69 73 |ine..If |point is|
|00002610| 20 6f 6e 20 61 20 63 68 | 65 63 6b 70 6f 69 6e 74 | on a ch|eckpoint|
|00002620| 2c 20 72 65 73 74 6f 72 | 65 73 20 74 68 61 74 20 |, restor|es that |
|00002630| 63 68 65 63 6b 70 6f 69 | 6e 74 2e 0a 0a 54 79 70 |checkpoi|nt...Typ|
|00002640| 65 20 60 5c 5b 64 65 63 | 69 70 68 65 72 2d 6d 61 |e `\[dec|ipher-ma|
|00002650| 6b 65 2d 63 68 65 63 6b | 70 6f 69 6e 74 5d 27 20 |ke-check|point]' |
|00002660| 74 6f 20 6d 61 6b 65 20 | 61 20 63 68 65 63 6b 70 |to make |a checkp|
|00002670| 6f 69 6e 74 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |oint...(|defalias|
|00002680| 20 27 64 65 63 69 70 68 | 65 72 2d 72 65 73 74 6f | 'deciph|er-resto|
|00002690| 72 65 2d 63 68 65 63 6b | 70 6f 69 6e 74 20 23 5b |re-check|point #[|
|000026a0| 6e 69 6c 20 22 c0 79 88 | c1 c2 21 ab a1 c3 c4 21 |nil ".y.|..!....!|
|000026b0| c5 1e 06 1e 07 65 62 88 | c8 c9 21 88 6c ac 87 60 |.....eb.|..!.l..`|
|000026c0| c5 7f 88 60 7c 88 0e 07 | 63 88 ca 20 2a 87 65 62 |...`|...|c.. *.eb|
|000026d0| 88 c8 cb c5 cc 23 ab 87 | cd ce cf d0 21 5c 22 87 |.....#..|....!\".|
|000026e0| d1 d2 21 87 22 20 5b 30 | 20 6c 6f 6f 6b 69 6e 67 |..!." [0| looking|
|000026f0| 2d 61 74 20 22 25 21 5c | 5c 28 5b 41 2d 5a 20 5d |-at "%!\|\([A-Z ]|
|00002700| 2b 5c 5c 29 21 22 20 6d | 61 74 63 68 2d 73 74 72 |+\\)!" m|atch-str|
|00002710| 69 6e 67 20 31 20 6e 69 | 6c 20 62 75 66 66 65 72 |ing 1 ni|l buffer|
|00002720| 2d 72 65 61 64 2d 6f 6e | 6c 79 20 61 6c 70 68 61 |-read-on|ly alpha|
|00002730| 62 65 74 20 72 65 2d 73 | 65 61 72 63 68 2d 66 6f |bet re-s|earch-fo|
|00002740| 72 77 61 72 64 20 22 5e | 29 22 20 64 65 63 69 70 |rward "^|)" decip|
|00002750| 68 65 72 2d 72 65 73 79 | 6e 63 20 22 5e 25 21 5b |her-resy|nc "^%![|
|00002760| 41 2d 5a 20 5d 2b 21 22 | 20 74 20 6d 65 73 73 61 |A-Z ]+!"| t messa|
|00002770| 67 65 20 22 53 65 6c 65 | 63 74 20 74 68 65 20 63 |ge "Sele|ct the c|
|00002780| 68 65 63 6b 70 6f 69 6e | 74 20 74 6f 20 72 65 73 |heckpoin|t to res|
|00002790| 74 6f 72 65 20 61 6e 64 | 20 74 79 70 65 20 60 25 |tore and| type `%|
|000027a0| 73 27 22 20 73 75 62 73 | 74 69 74 75 74 65 2d 63 |s'" subs|titute-c|
|000027b0| 6f 6d 6d 61 6e 64 2d 6b | 65 79 73 20 22 5c 5c 5b |ommand-k|eys "\\[|
|000027c0| 64 65 63 69 70 68 65 72 | 2d 72 65 73 74 6f 72 65 |decipher|-restore|
|000027d0| 2d 63 68 65 63 6b 70 6f | 69 6e 74 5d 22 20 65 72 |-checkpo|int]" er|
|000027e0| 72 6f 72 20 22 4e 6f 20 | 63 68 65 63 6b 70 6f 69 |ror "No |checkpoi|
|000027f0| 6e 74 73 20 69 6e 20 74 | 68 69 73 20 62 75 66 66 |nts in t|his buff|
|00002800| 65 72 22 5d 20 34 20 28 | 23 24 20 2e 20 39 36 31 |er"] 4 (|#$ . 961|
|00002810| 32 29 20 6e 69 6c 5d 29 | 0a 23 40 32 30 31 20 43 |2) nil])|.#@201 C|
|00002820| 6f 6d 70 6c 65 74 65 20 | 74 68 65 20 63 69 70 68 |omplete |the ciph|
|00002830| 65 72 20 61 6c 70 68 61 | 62 65 74 2e 0a 54 68 69 |er alpha|bet..Thi|
|00002840| 73 20 66 69 6c 6c 73 20 | 61 6e 79 20 62 6c 61 6e |s fills |any blan|
|00002850| 6b 73 20 69 6e 20 74 68 | 65 20 63 69 70 68 65 72 |ks in th|e cipher|
|00002860| 20 61 6c 70 68 61 62 65 | 74 20 77 69 74 68 20 74 | alphabe|t with t|
|00002870| 68 65 20 75 6e 75 73 65 | 64 20 6c 65 74 74 65 72 |he unuse|d letter|
|00002880| 73 0a 69 6e 20 61 6c 70 | 68 61 62 65 74 69 63 61 |s.in alp|habetica|
|00002890| 6c 20 6f 72 64 65 72 2e | 20 20 55 73 65 20 74 68 |l order.| Use th|
|000028a0| 69 73 20 77 68 65 6e 20 | 79 6f 75 20 68 61 76 65 |is when |you have|
|000028b0| 20 61 20 6b 65 79 77 6f | 72 64 20 63 69 70 68 65 | a keywo|rd ciphe|
|000028c0| 72 20 61 6e 64 0a 79 6f | 75 20 68 61 76 65 20 64 |r and.yo|u have d|
|000028d0| 65 74 65 72 6d 69 6e 65 | 64 20 74 68 65 20 6b 65 |etermine|d the ke|
|000028e0| 79 77 6f 72 64 2e 1f 0a | 28 64 65 66 61 6c 69 61 |yword...|(defalia|
|000028f0| 73 20 27 64 65 63 69 70 | 68 65 72 2d 63 6f 6d 70 |s 'decip|her-comp|
|00002900| 6c 65 74 65 2d 61 6c 70 | 68 61 62 65 74 20 23 5b |lete-alp|habet #[|
|00002910| 6e 69 6c 20 22 c0 09 c2 | 89 89 1b 1c 1d 1e 06 1e |nil "...|........|
|00002920| 07 0e 06 89 41 16 06 40 | 89 14 ab a5 0c 41 c8 6b |....A..@|.....A.k|
|00002930| ab 6f c9 0e 07 09 5c 22 | ab 87 0e 07 54 16 07 aa |.o....\"|....T...|
|00002940| 72 c8 0e 07 42 0b 42 13 | ca 0e 07 0c 40 cb 23 88 |r...B.B.|....@.#.|
|00002950| aa 50 cc 0b 21 2d 87 22 | 20 5b 3f 41 20 64 65 63 |.P..!-."| [?A dec|
|00002960| 69 70 68 65 72 2d 61 6c | 70 68 61 62 65 74 20 6e |ipher-al|phabet n|
|00002970| 69 6c 20 75 6e 64 6f 2d | 72 65 63 20 70 6c 61 69 |il undo-|rec plai|
|00002980| 6e 2d 6d 61 70 20 62 75 | 66 66 65 72 2d 72 65 61 |n-map bu|ffer-rea|
|00002990| 64 2d 6f 6e 6c 79 20 70 | 74 72 20 63 69 70 68 65 |d-only p|tr ciphe|
|000029a0| 72 2d 63 68 61 72 20 3f | 5c 20 20 72 61 73 73 6f |r-char ?|\ rasso|
|000029b0| 63 20 64 65 63 69 70 68 | 65 72 2d 73 65 74 2d 6d |c deciph|er-set-m|
|000029c0| 61 70 20 74 20 64 65 63 | 69 70 68 65 72 2d 61 64 |ap t dec|ipher-ad|
|000029d0| 64 2d 75 6e 64 6f 5d 20 | 35 20 28 23 24 20 2e 20 |d-undo] |5 (#$ . |
|000029e0| 31 30 32 37 31 29 20 6e | 69 6c 5d 29 0a 23 40 35 |10271) n|il]).#@5|
|000029f0| 38 20 44 69 73 70 6c 61 | 79 20 74 68 65 20 63 75 |8 Displa|y the cu|
|00002a00| 72 72 65 6e 74 20 63 69 | 70 68 65 72 20 61 6c 70 |rrent ci|pher alp|
|00002a10| 68 61 62 65 74 20 69 6e | 20 74 68 65 20 6d 65 73 |habet in| the mes|
|00002a20| 73 61 67 65 20 6c 69 6e | 65 2e 1f 0a 28 64 65 66 |sage lin|e...(def|
|00002a30| 61 6c 69 61 73 20 27 64 | 65 63 69 70 68 65 72 2d |alias 'd|ecipher-|
|00002a40| 73 68 6f 77 2d 61 6c 70 | 68 61 62 65 74 20 23 5b |show-alp|habet #[|
|00002a50| 6e 69 6c 20 22 c0 c1 c2 | 0b c4 23 21 87 22 20 5b |nil "...|..#!." [|
|00002a60| 6d 65 73 73 61 67 65 20 | 6d 61 70 63 6f 6e 63 61 |message |mapconca|
|00002a70| 74 20 23 5b 28 61 29 20 | 22 c0 09 40 21 c0 09 41 |t #[(a) |"..@!..A|
|00002a80| 21 50 87 22 20 5b 63 68 | 61 72 2d 74 6f 2d 73 74 |!P." [ch|ar-to-st|
|00002a90| 72 69 6e 67 20 61 5d 20 | 33 5d 20 64 65 63 69 70 |ring a] |3] decip|
|00002aa0| 68 65 72 2d 61 6c 70 68 | 61 62 65 74 20 22 22 5d |her-alph|abet ""]|
|00002ab0| 20 35 20 28 23 24 20 2e | 20 31 30 37 33 38 29 20 | 5 (#$ .| 10738) |
|00002ac0| 6e 69 6c 5d 29 0a 23 40 | 31 37 31 20 52 65 70 72 |nil]).#@|171 Repr|
|00002ad0| 6f 63 65 73 73 20 74 68 | 65 20 62 75 66 66 65 72 |ocess th|e buffer|
|00002ae0| 20 75 73 69 6e 67 20 74 | 68 65 20 61 6c 70 68 61 | using t|he alpha|
|00002af0| 62 65 74 20 66 72 6f 6d | 20 74 68 65 20 74 6f 70 |bet from| the top|
|00002b00| 2e 0a 54 68 69 73 20 72 | 65 67 65 6e 65 72 61 74 |..This r|egenerat|
|00002b10| 65 73 20 61 6c 6c 20 64 | 65 63 69 70 68 65 72 65 |es all d|eciphere|
|00002b20| 64 20 70 6c 61 69 6e 74 | 65 78 74 20 61 6e 64 20 |d plaint|ext and |
|00002b30| 63 6c 65 61 72 73 20 74 | 68 65 20 75 6e 64 6f 20 |clears t|he undo |
|00002b40| 6c 69 73 74 2e 0a 59 6f | 75 20 73 68 6f 75 6c 64 |list..Yo|u should|
|00002b50| 20 75 73 65 20 74 68 69 | 73 20 69 66 20 79 6f 75 | use thi|s if you|
|00002b60| 20 65 64 69 74 20 74 68 | 65 20 63 69 70 68 65 72 | edit th|e cipher|
|00002b70| 74 65 78 74 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |text...(|defalias|
|00002b80| 20 27 64 65 63 69 70 68 | 65 72 2d 72 65 73 79 6e | 'deciph|er-resyn|
|00002b90| 63 20 23 5b 6e 69 6c 20 | 22 c0 c1 21 88 c2 89 89 |c #[nil |"..!....|
|00002ba0| 1b 1c 1d 8a c6 20 88 0e | 07 15 65 62 88 c8 c9 c2 |..... ..|..eb....|
|00002bb0| ca 23 ab 86 cb cc c2 89 | 23 88 c8 cd c2 ca 23 ab |.#......|#.....#.|
|00002bc0| 88 cb ce c2 89 23 88 aa | 71 c6 20 88 0d 89 41 15 |.....#..|q. ...A.|
|00002bd0| 40 89 13 ab 8f 0b 41 cf | 6b ac 71 d0 0b 41 0b 40 |@.....A.|k.q..A.@|
|00002be0| 5c 22 88 aa 68 2c c2 16 | 11 d2 16 13 c0 d4 21 87 |\"..h,..|......!.|
|00002bf0| 22 20 5b 6d 65 73 73 61 | 67 65 20 22 52 65 70 72 |" [messa|ge "Repr|
|00002c00| 6f 63 65 73 73 69 6e 67 | 20 62 75 66 66 65 72 2e |ocessing| buffer.|
|00002c10| 2e 2e 22 20 6e 69 6c 20 | 6d 61 70 70 69 6e 67 20 |.." nil |mapping |
|00002c20| 62 75 66 66 65 72 2d 72 | 65 61 64 2d 6f 6e 6c 79 |buffer-r|ead-only|
|00002c30| 20 61 6c 70 68 61 62 65 | 74 20 64 65 63 69 70 68 | alphabe|t deciph|
|00002c40| 65 72 2d 72 65 61 64 2d | 61 6c 70 68 61 62 65 74 |er-read-|alphabet|
|00002c50| 20 64 65 63 69 70 68 65 | 72 2d 61 6c 70 68 61 62 | deciphe|r-alphab|
|00002c60| 65 74 20 72 65 2d 73 65 | 61 72 63 68 2d 66 6f 72 |et re-se|arch-for|
|00002c70| 77 61 72 64 20 22 5e 29 | 2e 2b 22 20 74 20 72 65 |ward "^)|.+" t re|
|00002c80| 70 6c 61 63 65 2d 6d 61 | 74 63 68 20 22 29 22 20 |place-ma|tch ")" |
|00002c90| 22 5e 3e 2e 2b 22 20 22 | 3e 22 20 3f 5c 20 20 64 |"^>.+" "|>" ?\ d|
|00002ca0| 65 63 69 70 68 65 72 2d | 73 65 74 2d 6d 61 70 20 |ecipher-|set-map |
|00002cb0| 64 65 63 69 70 68 65 72 | 2d 75 6e 64 6f 2d 6c 69 |decipher|-undo-li|
|00002cc0| 73 74 20 30 20 64 65 63 | 69 70 68 65 72 2d 75 6e |st 0 dec|ipher-un|
|00002cd0| 64 6f 2d 6c 69 73 74 2d | 73 69 7a 65 20 22 52 65 |do-list-|size "Re|
|00002ce0| 70 72 6f 63 65 73 73 69 | 6e 67 20 62 75 66 66 65 |processi|ng buffe|
|00002cf0| 72 2e 2e 2e 64 6f 6e 65 | 22 5d 20 34 20 28 23 24 |r...done|"] 4 (#$|
|00002d00| 20 2e 20 31 30 39 35 36 | 29 20 6e 69 6c 5d 29 0a | . 10956|) nil]).|
|00002d10| 23 40 36 37 20 42 75 69 | 6c 64 20 74 68 65 20 64 |#@67 Bui|ld the d|
|00002d20| 65 63 69 70 68 65 72 2d | 61 6c 70 68 61 62 65 74 |ecipher-|alphabet|
|00002d30| 20 66 72 6f 6d 20 74 68 | 65 20 61 6c 70 68 61 62 | from th|e alphab|
|00002d40| 65 74 20 6c 69 6e 65 20 | 69 6e 20 74 68 65 20 62 |et line |in the b|
|00002d50| 75 66 66 65 72 2e 1f 0a | 28 64 65 66 61 6c 69 61 |uffer...|(defalia|
|00002d60| 73 20 27 64 65 63 69 70 | 68 65 72 2d 72 65 61 64 |s 'decip|her-read|
|00002d70| 2d 61 6c 70 68 61 62 65 | 74 20 23 5b 6e 69 6c 20 |-alphabe|t #[nil |
|00002d80| 22 8a 65 62 88 c0 c1 21 | 88 c2 c3 c4 5c 22 88 c5 |".eb...!|....\"..|
|00002d90| 16 06 c7 1e 08 c7 c9 59 | ad 94 ca 20 88 0e 08 67 |.......Y|... ...g|
|00002da0| 42 0e 06 42 16 06 0e 08 | 53 89 16 08 aa 68 2a 87 |B..B....|S....h*.|
|00002db0| 22 20 5b 73 65 61 72 63 | 68 2d 66 6f 72 77 61 72 |" [searc|h-forwar|
|00002dc0| 64 2d 72 65 67 65 78 70 | 20 22 5e 29 22 20 6d 6f |d-regexp| "^)" mo|
|00002dd0| 76 65 2d 74 6f 2d 63 6f | 6c 75 6d 6e 20 32 37 20 |ve-to-co|lumn 27 |
|00002de0| 74 20 6e 69 6c 20 64 65 | 63 69 70 68 65 72 2d 61 |t nil de|cipher-a|
|00002df0| 6c 70 68 61 62 65 74 20 | 3f 7a 20 70 6c 61 69 6e |lphabet |?z plain|
|00002e00| 2d 63 68 61 72 20 3f 61 | 20 62 61 63 6b 77 61 72 |-char ?a| backwar|
|00002e10| 64 2d 63 68 61 72 5d 20 | 34 20 28 23 24 20 2e 20 |d-char] |4 (#$ . |
|00002e20| 31 31 35 34 31 29 5d 29 | 0a 23 40 35 35 20 44 69 |11541)])|.#@55 Di|
|00002e30| 73 70 6c 61 79 20 74 68 | 65 20 66 72 65 71 75 65 |splay th|e freque|
|00002e40| 6e 63 79 20 63 6f 75 6e | 74 20 69 6e 20 74 68 65 |ncy coun|t in the|
|00002e50| 20 73 74 61 74 69 73 74 | 69 63 73 20 62 75 66 66 | statist|ics buff|
|00002e60| 65 72 2e 1f 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |er...(de|falias '|
|00002e70| 64 65 63 69 70 68 65 72 | 2d 66 72 65 71 75 65 6e |decipher|-frequen|
|00002e80| 63 79 2d 63 6f 75 6e 74 | 20 23 5b 6e 69 6c 20 22 |cy-count| #[nil "|
|00002e90| c0 20 88 c1 c2 c3 5c 22 | 87 22 20 5b 64 65 63 69 |. ....\"|." [deci|
|00002ea0| 70 68 65 72 2d 61 6e 61 | 6c 79 7a 65 20 64 65 63 |pher-ana|lyze dec|
|00002eb0| 69 70 68 65 72 2d 64 69 | 73 70 6c 61 79 2d 72 65 |ipher-di|splay-re|
|00002ec0| 67 65 78 70 20 22 5e 41 | 22 20 22 5e 5b 41 2d 5a |gexp "^A|" "^[A-Z|
|00002ed0| 5d 5b 41 2d 5a 5d 22 5d | 20 33 20 28 23 24 20 2e |][A-Z]"]| 3 (#$ .|
|00002ee0| 20 31 31 38 32 32 29 20 | 6e 69 6c 5d 29 0a 23 40 | 11822) |nil]).#@|
|00002ef0| 35 35 20 44 69 73 70 6c | 61 79 20 74 68 65 20 6c |55 Displ|ay the l|
|00002f00| 69 73 74 20 6f 66 20 64 | 69 67 72 61 6d 73 20 69 |ist of d|igrams i|
|00002f10| 6e 20 74 68 65 20 73 74 | 61 74 69 73 74 69 63 73 |n the st|atistics|
|00002f20| 20 62 75 66 66 65 72 2e | 1f 0a 28 64 65 66 61 6c | buffer.|..(defal|
|00002f30| 69 61 73 20 27 64 65 63 | 69 70 68 65 72 2d 64 69 |ias 'dec|ipher-di|
|00002f40| 67 72 61 6d 2d 6c 69 73 | 74 20 23 5b 6e 69 6c 20 |gram-lis|t #[nil |
|00002f50| 22 c0 20 88 c1 c2 c3 5c | 22 87 22 20 5b 64 65 63 |". ....\|"." [dec|
|00002f60| 69 70 68 65 72 2d 61 6e | 61 6c 79 7a 65 20 64 65 |ipher-an|alyze de|
|00002f70| 63 69 70 68 65 72 2d 64 | 69 73 70 6c 61 79 2d 72 |cipher-d|isplay-r|
|00002f80| 65 67 65 78 70 20 22 5b | 41 2d 5a 5d 5b 41 2d 5a |egexp "[|A-Z][A-Z|
|00002f90| 5d 20 2b 5b 30 2d 39 5d | 22 20 22 5e 24 22 5d 20 |] +[0-9]|" "^$"] |
|00002fa0| 33 20 28 23 24 20 2e 20 | 31 32 30 31 39 29 20 6e |3 (#$ . |12019) n|
|00002fb0| 69 6c 5d 29 0a 23 40 36 | 35 35 20 44 69 73 70 6c |il]).#@6|55 Displ|
|00002fc0| 61 79 20 74 68 65 20 61 | 64 6a 61 63 65 6e 63 79 |ay the a|djacency|
|00002fd0| 20 6c 69 73 74 20 66 6f | 72 20 74 68 65 20 6c 65 | list fo|r the le|
|00002fe0| 74 74 65 72 20 61 74 20 | 70 6f 69 6e 74 2e 0a 54 |tter at |point..T|
|00002ff0| 68 65 20 61 64 6a 61 63 | 65 6e 63 79 20 6c 69 73 |he adjac|ency lis|
|00003000| 74 20 73 68 6f 77 73 20 | 61 6c 6c 20 6c 65 74 74 |t shows |all lett|
|00003010| 65 72 73 20 77 68 69 63 | 68 20 63 6f 6d 65 20 6e |ers whic|h come n|
|00003020| 65 78 74 20 74 6f 20 43 | 49 50 48 45 52 2d 43 48 |ext to C|IPHER-CH|
|00003030| 41 52 2e 0a 0a 41 6e 20 | 61 64 6a 61 63 65 6e 63 |AR...An |adjacenc|
|00003040| 79 20 6c 69 73 74 20 28 | 66 6f 72 20 74 68 65 20 |y list (|for the |
|00003050| 6c 65 74 74 65 72 20 58 | 29 20 6c 6f 6f 6b 73 20 |letter X|) looks |
|00003060| 6c 69 6b 65 20 74 68 69 | 73 3a 0a 20 20 20 20 20 |like thi|s:. |
|00003070| 20 20 31 20 31 20 20 20 | 20 20 20 20 20 20 31 20 | 1 1 | 1 |
|00003080| 20 20 20 20 31 20 20 20 | 31 20 20 20 20 20 20 20 | 1 |1 |
|00003090| 33 20 32 20 31 20 20 20 | 20 20 20 20 20 20 20 20 |3 2 1 | |
|000030a0| 20 20 33 20 20 20 38 0a | 58 3a 20 41 20 42 20 43 | 3 8.|X: A B C|
|000030b0| 20 44 20 45 20 46 20 47 | 20 48 20 49 20 4a 20 4b | D E F G| H I J K|
|000030c0| 20 4c 20 4d 20 4e 20 4f | 20 50 20 51 20 52 20 53 | L M N O| P Q R S|
|000030d0| 20 54 20 55 20 56 20 57 | 20 58 20 59 20 5a 20 2a | T U V W| X Y Z *|
|000030e0| 20 20 31 31 20 20 20 31 | 34 20 20 20 39 25 0a 20 | 11 1|4 9%. |
|000030f0| 20 20 20 20 31 20 31 20 | 20 20 20 20 20 20 20 20 | 1 1 | |
|00003100| 20 20 20 20 20 20 20 20 | 31 20 20 20 20 20 20 20 | |1 |
|00003110| 32 20 20 20 31 20 20 20 | 31 20 20 20 20 20 32 20 |2 1 |1 2 |
|00003120| 20 20 20 20 20 20 35 20 | 20 20 37 0a 54 68 69 73 | 5 | 7.This|
|00003130| 20 73 61 79 73 20 74 68 | 61 74 20 58 20 63 6f 6d | says th|at X com|
|00003140| 65 73 20 62 65 66 6f 72 | 65 20 44 20 6f 6e 63 65 |es befor|e D once|
|00003150| 2c 20 61 6e 64 20 61 66 | 74 65 72 20 42 20 6f 6e |, and af|ter B on|
|00003160| 63 65 2e 20 20 58 20 62 | 65 67 69 6e 73 20 35 0a |ce. X b|egins 5.|
|00003170| 77 6f 72 64 73 2c 20 61 | 6e 64 20 65 6e 64 73 20 |words, a|nd ends |
|00003180| 33 20 77 6f 72 64 73 20 | 28 60 2a 27 20 72 65 70 |3 words |(`*' rep|
|00003190| 72 65 73 65 6e 74 73 20 | 61 20 73 70 61 63 65 29 |resents |a space)|
|000031a0| 2e 20 20 58 20 63 6f 6d | 65 73 20 62 65 66 6f 72 |. X com|es befor|
|000031b0| 65 20 38 0a 64 69 66 66 | 65 72 65 6e 74 20 6c 65 |e 8.diff|erent le|
|000031c0| 74 74 65 72 73 2c 20 61 | 66 74 65 72 20 37 20 64 |tters, a|fter 7 d|
|000031d0| 69 66 66 65 72 65 72 65 | 6e 74 20 6c 65 74 74 65 |ifferere|nt lette|
|000031e0| 72 73 2c 20 61 6e 64 20 | 69 73 20 6e 65 78 74 20 |rs, and |is next |
|000031f0| 74 6f 20 61 20 74 6f 74 | 61 6c 0a 6f 66 20 31 31 |to a tot|al.of 11|
|00003200| 20 64 69 66 66 65 72 65 | 6e 74 20 6c 65 74 74 65 | differe|nt lette|
|00003210| 72 73 2e 20 20 49 74 20 | 6f 63 63 75 72 73 20 31 |rs. It |occurs 1|
|00003220| 34 20 74 69 6d 65 73 2c | 20 6d 61 6b 69 6e 67 20 |4 times,| making |
|00003230| 75 70 20 39 25 20 6f 66 | 20 74 68 65 0a 63 69 70 |up 9% of| the.cip|
|00003240| 68 65 72 74 65 78 74 2e | 1f 0a 28 64 65 66 61 6c |hertext.|..(defal|
|00003250| 69 61 73 20 27 64 65 63 | 69 70 68 65 72 2d 61 64 |ias 'dec|ipher-ad|
|00003260| 6a 61 63 65 6e 63 79 2d | 6c 69 73 74 20 23 5b 28 |jacency-|list #[(|
|00003270| 63 69 70 68 65 72 2d 63 | 68 61 72 29 20 22 c0 20 |cipher-c|har) ". |
|00003280| 88 c1 89 1a 1b 8a c4 20 | 71 88 65 62 88 c5 c6 c7 |....... |q.eb....|
|00003290| 0e 08 5c 22 c1 c9 23 ac | 86 ca cb 0e 08 5c 22 88 |..\"..#.|.....\".|
|000032a0| cc 79 88 60 13 cd 79 88 | 60 12 29 ce 0b 5c 6e 5c |.y.`..y.|`.)..\n\|
|000032b0| 22 2a 87 22 20 5b 64 65 | 63 69 70 68 65 72 2d 61 |"*." [de|cipher-a|
|000032c0| 6e 61 6c 79 7a 65 20 6e | 69 6c 20 65 6e 64 20 73 |nalyze n|il end s|
|000032d0| 74 61 72 74 20 64 65 63 | 69 70 68 65 72 2d 73 74 |tart dec|ipher-st|
|000032e0| 61 74 73 2d 62 75 66 66 | 65 72 20 72 65 2d 73 65 |ats-buff|er re-se|
|000032f0| 61 72 63 68 2d 66 6f 72 | 77 61 72 64 20 66 6f 72 |arch-for|ward for|
|00003300| 6d 61 74 20 22 5e 25 63 | 3a 20 22 20 63 69 70 68 |mat "^%c|: " ciph|
|00003310| 65 72 2d 63 68 61 72 20 | 74 20 65 72 72 6f 72 20 |er-char |t error |
|00003320| 22 43 68 61 72 61 63 74 | 65 72 20 60 25 63 27 20 |"Charact|er `%c' |
|00003330| 69 73 20 6e 6f 74 20 75 | 73 65 64 20 69 6e 20 63 |is not u|sed in c|
|00003340| 69 70 68 65 72 74 65 78 | 74 2e 22 20 2d 31 20 33 |iphertex|t." -1 3|
|00003350| 20 64 65 63 69 70 68 65 | 72 2d 64 69 73 70 6c 61 | deciphe|r-displa|
|00003360| 79 2d 72 61 6e 67 65 5d | 20 34 20 28 23 24 20 2e |y-range]| 4 (#$ .|
|00003370| 20 31 32 32 31 39 29 20 | 28 6c 69 73 74 20 28 75 | 12219) |(list (u|
|00003380| 70 63 61 73 65 20 28 66 | 6f 6c 6c 6f 77 69 6e 67 |pcase (f|ollowing|
|00003390| 2d 63 68 61 72 29 29 29 | 5d 29 0a 23 40 36 34 20 |-char)))|]).#@64 |
|000033a0| 50 65 72 66 6f 72 6d 20 | 66 72 65 71 75 65 6e 63 |Perform |frequenc|
|000033b0| 79 20 61 6e 61 6c 79 73 | 69 73 20 6f 6e 20 74 68 |y analys|is on th|
|000033c0| 65 20 63 75 72 72 65 6e | 74 20 62 75 66 66 65 72 |e curren|t buffer|
|000033d0| 20 69 66 20 6e 65 63 65 | 73 73 61 72 79 2e 1f 0a | if nece|ssary...|
|000033e0| 28 64 65 66 61 6c 69 61 | 73 20 27 64 65 63 69 70 |(defalia|s 'decip|
|000033f0| 68 65 72 2d 61 6e 61 6c | 79 7a 65 20 23 5b 6e 69 |her-anal|yze #[ni|
|00003400| 6c 20 22 08 c1 61 ae 95 | 08 c2 61 ab 8d c3 0c 21 |l "..a..|..a....!|
|00003410| ab 85 c5 0c 21 ae 86 c6 | 20 87 c7 c8 21 87 22 20 |....!...| ...!." |
|00003420| 5b 6d 61 6a 6f 72 2d 6d | 6f 64 65 20 64 65 63 69 |[major-m|ode deci|
|00003430| 70 68 65 72 2d 73 74 61 | 74 73 2d 6d 6f 64 65 20 |pher-sta|ts-mode |
|00003440| 64 65 63 69 70 68 65 72 | 2d 6d 6f 64 65 20 62 75 |decipher|-mode bu|
|00003450| 66 66 65 72 70 20 64 65 | 63 69 70 68 65 72 2d 73 |fferp de|cipher-s|
|00003460| 74 61 74 73 2d 62 75 66 | 66 65 72 20 62 75 66 66 |tats-buf|fer buff|
|00003470| 65 72 2d 6e 61 6d 65 20 | 64 65 63 69 70 68 65 72 |er-name |decipher|
|00003480| 2d 61 6e 61 6c 79 7a 65 | 2d 62 75 66 66 65 72 20 |-analyze|-buffer |
|00003490| 65 72 72 6f 72 20 22 54 | 68 69 73 20 62 75 66 66 |error "T|his buff|
|000034a0| 65 72 20 69 73 20 6e 6f | 74 20 69 6e 20 44 65 63 |er is no|t in Dec|
|000034b0| 69 70 68 65 72 20 6d 6f | 64 65 22 5d 20 32 20 28 |ipher mo|de"] 2 (|
|000034c0| 23 24 20 2e 20 31 33 32 | 31 36 29 5d 29 0a 23 40 |#$ . 132|16)]).#@|
|000034d0| 32 34 36 20 44 69 73 70 | 6c 61 79 20 74 65 78 74 |246 Disp|lay text|
|000034e0| 20 62 65 74 77 65 65 6e | 20 53 54 41 52 54 20 61 | between| START a|
|000034f0| 6e 64 20 45 4e 44 20 69 | 6e 20 74 68 65 20 73 74 |nd END i|n the st|
|00003500| 61 74 69 73 74 69 63 73 | 20 62 75 66 66 65 72 2e |atistics| buffer.|
|00003510| 0a 53 54 41 52 54 20 61 | 6e 64 20 45 4e 44 20 61 |.START a|nd END a|
|00003520| 72 65 20 70 6f 73 69 74 | 69 6f 6e 73 20 69 6e 20 |re posit|ions in |
|00003530| 74 68 65 20 73 74 61 74 | 69 73 74 69 63 73 20 62 |the stat|istics b|
|00003540| 75 66 66 65 72 2e 20 20 | 4d 61 6b 65 73 20 74 68 |uffer. |Makes th|
|00003550| 65 0a 73 74 61 74 69 73 | 74 69 63 73 20 62 75 66 |e.statis|tics buf|
|00003560| 66 65 72 20 76 69 73 69 | 62 6c 65 20 61 6e 64 20 |fer visi|ble and |
|00003570| 73 69 7a 65 73 20 74 68 | 65 20 77 69 6e 64 6f 77 |sizes th|e window|
|00003580| 20 74 6f 20 6a 75 73 74 | 20 66 69 74 20 74 68 65 | to just| fit the|
|00003590| 0a 64 69 73 70 6c 61 79 | 65 64 20 74 65 78 74 2c |.display|ed text,|
|000035a0| 20 62 75 74 20 6c 65 61 | 76 65 73 20 74 68 65 20 | but lea|ves the |
|000035b0| 63 75 72 72 65 6e 74 20 | 77 69 6e 64 6f 77 20 73 |current |window s|
|000035c0| 65 6c 65 63 74 65 64 2e | 1f 0a 28 64 65 66 61 6c |elected.|..(defal|
|000035d0| 69 61 73 20 27 64 65 63 | 69 70 68 65 72 2d 64 69 |ias 'dec|ipher-di|
|000035e0| 73 70 6c 61 79 2d 72 61 | 6e 67 65 20 23 5b 28 73 |splay-ra|nge #[(s|
|000035f0| 74 61 72 74 20 65 6e 64 | 29 20 22 c0 20 c1 20 c2 |tart end|) ". . .|
|00003600| 1b 1c 1d 70 0d 61 ac 84 | c6 0d 21 88 0e 07 62 88 |...p.a..|..!...b.|
|00003610| c8 c2 21 ac 8d c9 ca 0e | 07 0e 0b 5c 22 54 cc 20 |..!.....|...\"T. |
|00003620| 5a 21 88 cd ce 21 88 cf | 0c 21 2b 87 22 20 5b 64 |Z!...!..|.!+." [d|
|00003630| 65 63 69 70 68 65 72 2d | 73 74 61 74 73 2d 62 75 |ecipher-|stats-bu|
|00003640| 66 66 65 72 20 73 65 6c | 65 63 74 65 64 2d 77 69 |ffer sel|ected-wi|
|00003650| 6e 64 6f 77 20 74 20 70 | 6f 70 2d 75 70 2d 77 69 |ndow t p|op-up-wi|
|00003660| 6e 64 6f 77 73 20 63 75 | 72 72 65 6e 74 2d 77 69 |ndows cu|rrent-wi|
|00003670| 6e 64 6f 77 20 73 74 61 | 74 73 2d 62 75 66 66 65 |ndow sta|ts-buffe|
|00003680| 72 20 70 6f 70 2d 74 6f | 2d 62 75 66 66 65 72 20 |r pop-to|-buffer |
|00003690| 73 74 61 72 74 20 6f 6e | 65 2d 77 69 6e 64 6f 77 |start on|e-window|
|000036a0| 2d 70 20 65 6e 6c 61 72 | 67 65 2d 77 69 6e 64 6f |-p enlar|ge-windo|
|000036b0| 77 20 63 6f 75 6e 74 2d | 6c 69 6e 65 73 20 65 6e |w count-|lines en|
|000036c0| 64 20 77 69 6e 64 6f 77 | 2d 68 65 69 67 68 74 20 |d window|-height |
|000036d0| 72 65 63 65 6e 74 65 72 | 20 30 20 73 65 6c 65 63 |recenter| 0 selec|
|000036e0| 74 2d 77 69 6e 64 6f 77 | 5d 20 34 20 28 23 24 20 |t-window|] 4 (#$ |
|000036f0| 2e 20 31 33 35 32 34 29 | 5d 29 0a 23 40 32 33 35 |. 13524)|]).#@235|
|00003700| 20 44 69 73 70 6c 61 79 | 20 74 65 78 74 20 62 65 | Display| text be|
|00003710| 74 77 65 65 6e 20 74 77 | 6f 20 72 65 67 65 78 70 |tween tw|o regexp|
|00003720| 73 20 69 6e 20 74 68 65 | 20 73 74 61 74 69 73 74 |s in the| statist|
|00003730| 69 63 73 20 62 75 66 66 | 65 72 2e 0a 0a 53 54 41 |ics buff|er...STA|
|00003740| 52 54 2d 52 45 47 45 58 | 50 20 6d 61 74 63 68 65 |RT-REGEX|P matche|
|00003750| 73 20 74 68 65 20 66 69 | 72 73 74 20 6c 69 6e 65 |s the fi|rst line|
|00003760| 20 74 6f 20 64 69 73 70 | 6c 61 79 2e 0a 45 4e 44 | to disp|lay..END|
|00003770| 2d 52 45 47 45 58 50 20 | 6d 61 74 63 68 65 73 20 |-REGEXP |matches |
|00003780| 74 68 65 20 6c 69 6e 65 | 20 61 66 74 65 72 20 74 |the line| after t|
|00003790| 68 61 74 20 77 68 69 63 | 68 20 65 6e 64 73 20 74 |hat whic|h ends t|
|000037a0| 68 65 20 64 69 73 70 6c | 61 79 2e 0a 54 68 65 20 |he displ|ay..The |
|000037b0| 65 6e 64 69 6e 67 20 6c | 69 6e 65 20 69 73 20 69 |ending l|ine is i|
|000037c0| 6e 63 6c 75 64 65 64 20 | 69 6e 20 74 68 65 20 64 |ncluded |in the d|
|000037d0| 69 73 70 6c 61 79 20 75 | 6e 6c 65 73 73 20 69 74 |isplay u|nless it|
|000037e0| 20 69 73 20 62 6c 61 6e | 6b 2e 1f 0a 28 64 65 66 | is blan|k...(def|
|000037f0| 61 6c 69 61 73 20 27 64 | 65 63 69 70 68 65 72 2d |alias 'd|ecipher-|
|00003800| 64 69 73 70 6c 61 79 2d | 72 65 67 65 78 70 20 23 |display-|regexp #|
|00003810| 5b 28 73 74 61 72 74 2d | 72 65 67 65 78 70 20 65 |[(start-|regexp e|
|00003820| 6e 64 2d 72 65 67 65 78 | 70 29 20 22 c0 89 19 1a |nd-regex|p) "....|
|00003830| 8a c3 20 71 88 65 62 88 | c4 0d 21 88 c6 79 88 60 |.. q.eb.|..!..y.`|
|00003840| 12 c4 0e 07 21 88 c6 79 | 88 c8 c9 21 ac 83 ca 79 |....!..y|...!...y|
|00003850| 88 60 11 29 cb 5c 6e 09 | 5c 22 2a 87 22 20 5b 6e |.`.).\n.|\"*." [n|
|00003860| 69 6c 20 65 6e 64 20 73 | 74 61 72 74 20 64 65 63 |il end s|tart dec|
|00003870| 69 70 68 65 72 2d 73 74 | 61 74 73 2d 62 75 66 66 |ipher-st|ats-buff|
|00003880| 65 72 20 72 65 2d 73 65 | 61 72 63 68 2d 66 6f 72 |er re-se|arch-for|
|00003890| 77 61 72 64 20 73 74 61 | 72 74 2d 72 65 67 65 78 |ward sta|rt-regex|
|000038a0| 70 20 30 20 65 6e 64 2d | 72 65 67 65 78 70 20 6c |p 0 end-|regexp l|
|000038b0| 6f 6f 6b 69 6e 67 2d 61 | 74 20 22 5e 20 2a 24 22 |ooking-a|t "^ *$"|
|000038c0| 20 31 20 64 65 63 69 70 | 68 65 72 2d 64 69 73 70 | 1 decip|her-disp|
|000038d0| 6c 61 79 2d 72 61 6e 67 | 65 5d 20 33 20 28 23 24 |lay-rang|e] 3 (#$|
|000038e0| 20 2e 20 31 34 30 38 31 | 29 5d 29 0a 23 40 34 33 | . 14081|)]).#@43|
|000038f0| 39 20 4c 6f 6f 70 20 74 | 68 72 6f 75 67 68 20 63 |9 Loop t|hrough c|
|00003900| 69 70 68 65 72 74 65 78 | 74 2c 20 63 61 6c 6c 69 |iphertex|t, calli|
|00003910| 6e 67 20 46 55 4e 43 20 | 6f 6e 63 65 20 66 6f 72 |ng FUNC |once for|
|00003920| 20 65 61 63 68 20 6c 65 | 74 74 65 72 20 26 20 77 | each le|tter & w|
|00003930| 6f 72 64 20 64 69 76 69 | 73 69 6f 6e 2e 0a 0a 46 |ord divi|sion...F|
|00003940| 55 4e 43 20 69 73 20 63 | 61 6c 6c 65 64 20 77 69 |UNC is c|alled wi|
|00003950| 74 68 20 6e 6f 20 61 72 | 67 75 6d 65 6e 74 73 2c |th no ar|guments,|
|00003960| 20 61 6e 64 20 69 74 73 | 20 72 65 74 75 72 6e 20 | and its| return |
|00003970| 76 61 6c 75 65 20 69 73 | 20 75 6e 69 6d 70 6f 72 |value is| unimpor|
|00003980| 74 61 6e 74 2e 0a 49 74 | 20 6d 61 79 20 65 78 61 |tant..It| may exa|
|00003990| 6d 69 6e 65 20 60 64 65 | 63 69 70 68 65 72 2d 63 |mine `de|cipher-c|
|000039a0| 68 61 72 27 20 74 6f 20 | 73 65 65 20 74 68 65 20 |har' to |see the |
|000039b0| 63 75 72 72 65 6e 74 20 | 63 69 70 68 65 72 74 65 |current |cipherte|
|000039c0| 78 74 0a 63 68 61 72 61 | 63 74 65 72 2e 20 20 60 |xt.chara|cter. `|
|000039d0| 64 65 63 69 70 68 65 72 | 2d 63 68 61 72 27 20 63 |decipher|-char' c|
|000039e0| 6f 6e 74 61 69 6e 73 20 | 65 69 74 68 65 72 20 61 |ontains |either a|
|000039f0| 6e 20 75 70 70 65 72 63 | 61 73 65 20 6c 65 74 74 |n upperc|ase lett|
|00003a00| 65 72 20 6f 72 20 61 20 | 73 70 61 63 65 2e 0a 0a |er or a |space...|
|00003a10| 46 55 4e 43 20 69 73 20 | 63 61 6c 6c 65 64 20 65 |FUNC is |called e|
|00003a20| 78 61 63 74 6c 79 20 6f | 6e 63 65 20 62 65 74 77 |xactly o|nce betw|
|00003a30| 65 65 6e 20 77 6f 72 64 | 73 2c 20 77 69 74 68 20 |een word|s, with |
|00003a40| 60 64 65 63 69 70 68 65 | 72 2d 63 68 61 72 27 20 |`deciphe|r-char' |
|00003a50| 73 65 74 20 74 6f 0a 61 | 20 73 70 61 63 65 2e 0a |set to.a| space..|
|00003a60| 0a 53 65 65 20 60 64 65 | 63 69 70 68 65 72 2d 6c |.See `de|cipher-l|
|00003a70| 6f 6f 70 2d 6e 6f 2d 62 | 72 65 61 6b 73 27 20 69 |oop-no-b|reaks' i|
|00003a80| 66 20 79 6f 75 20 64 6f | 20 6e 6f 74 20 63 61 72 |f you do| not car|
|00003a90| 65 20 61 62 6f 75 74 20 | 77 6f 72 64 20 64 69 76 |e about |word div|
|00003aa0| 69 73 69 6f 6e 73 2e 1f | 0a 28 64 65 66 61 6c 69 |isions..|.(defali|
|00003ab0| 61 73 20 27 64 65 63 69 | 70 68 65 72 2d 6c 6f 6f |as 'deci|pher-loo|
|00003ac0| 70 2d 77 69 74 68 2d 62 | 72 65 61 6b 73 20 23 5b |p-with-b|reaks #[|
|00003ad0| 28 66 75 6e 63 29 20 22 | c0 89 19 1a 8a 65 62 88 |(func) "|.....eb.|
|00003ae0| 0b 20 88 c4 c5 c6 c7 23 | ad b4 6c ac a3 67 96 89 |. .....#|..l..g..|
|00003af0| 12 c8 59 ab 85 5c 6e c9 | 58 ac 82 c0 12 5c 6e c0 |..Y..\n.|X....\n.|
|00003b00| 6b ab 85 09 c0 6b ac 83 | 0b 20 88 5c 6e 11 c6 75 |k....k..|. .\n..u|
|00003b10| 88 aa 5a 5c 6e c0 6b ac | 4e c0 12 c0 11 0b 20 88 |..Z\n.k.|N..... .|
|00003b20| aa 45 2b 87 22 20 5b 3f | 5c 20 20 64 65 63 69 70 |.E+." [?|\ decip|
|00003b30| 68 65 72 2d 2d 6c 6f 6f | 70 2d 70 72 65 76 2d 63 |her--loo|p-prev-c|
|00003b40| 68 61 72 20 64 65 63 69 | 70 68 65 72 2d 63 68 61 |har deci|pher-cha|
|00003b50| 72 20 66 75 6e 63 20 73 | 65 61 72 63 68 2d 66 6f |r func s|earch-fo|
|00003b60| 72 77 61 72 64 2d 72 65 | 67 65 78 70 20 22 5e 3a |rward-re|gexp "^:|
|00003b70| 22 20 6e 69 6c 20 74 20 | 3f 41 20 3f 5a 5d 20 35 |" nil t |?A ?Z] 5|
|00003b80| 20 28 23 24 20 2e 20 31 | 34 35 37 38 29 5d 29 0a | (#$ . 1|4578)]).|
|00003b90| 23 40 33 37 30 20 4c 6f | 6f 70 20 74 68 72 6f 75 |#@370 Lo|op throu|
|00003ba0| 67 68 20 63 69 70 68 65 | 72 74 65 78 74 2c 20 63 |gh ciphe|rtext, c|
|00003bb0| 61 6c 6c 69 6e 67 20 46 | 55 4e 43 20 6f 6e 63 65 |alling F|UNC once|
|00003bc0| 20 66 6f 72 20 65 61 63 | 68 20 6c 65 74 74 65 72 | for eac|h letter|
|00003bd0| 2e 0a 0a 46 55 4e 43 20 | 69 73 20 63 61 6c 6c 65 |...FUNC |is calle|
|00003be0| 64 20 77 69 74 68 20 6e | 6f 20 61 72 67 75 6d 65 |d with n|o argume|
|00003bf0| 6e 74 73 2c 20 61 6e 64 | 20 69 74 73 20 72 65 74 |nts, and| its ret|
|00003c00| 75 72 6e 20 76 61 6c 75 | 65 20 69 73 20 75 6e 69 |urn valu|e is uni|
|00003c10| 6d 70 6f 72 74 61 6e 74 | 2e 0a 49 74 20 6d 61 79 |mportant|..It may|
|00003c20| 20 65 78 61 6d 69 6e 65 | 20 60 64 65 63 69 70 68 | examine| `deciph|
|00003c30| 65 72 2d 63 68 61 72 27 | 20 74 6f 20 73 65 65 20 |er-char'| to see |
|00003c40| 74 68 65 20 63 75 72 72 | 65 6e 74 20 63 69 70 68 |the curr|ent ciph|
|00003c50| 65 72 74 65 78 74 20 6c | 65 74 74 65 72 2e 0a 60 |ertext l|etter..`|
|00003c60| 64 65 63 69 70 68 65 72 | 2d 63 68 61 72 27 20 63 |decipher|-char' c|
|00003c70| 6f 6e 74 61 69 6e 73 20 | 61 6e 20 75 70 70 65 72 |ontains |an upper|
|00003c80| 63 61 73 65 20 6c 65 74 | 74 65 72 2e 0a 0a 50 75 |case let|ter...Pu|
|00003c90| 6e 63 74 75 61 74 69 6f | 6e 20 61 6e 64 20 73 70 |nctuatio|n and sp|
|00003ca0| 61 63 69 6e 67 20 69 6e | 20 74 68 65 20 63 69 70 |acing in| the cip|
|00003cb0| 68 65 72 74 65 78 74 20 | 61 72 65 20 69 67 6e 6f |hertext |are igno|
|00003cc0| 72 65 64 2e 0a 53 65 65 | 20 60 64 65 63 69 70 68 |red..See| `deciph|
|00003cd0| 65 72 2d 6c 6f 6f 70 2d | 77 69 74 68 2d 62 72 65 |er-loop-|with-bre|
|00003ce0| 61 6b 73 27 20 69 66 20 | 79 6f 75 20 63 61 72 65 |aks' if |you care|
|00003cf0| 20 61 62 6f 75 74 20 77 | 6f 72 64 20 64 69 76 69 | about w|ord divi|
|00003d00| 73 69 6f 6e 73 2e 1f 0a | 28 64 65 66 61 6c 69 61 |sions...|(defalia|
|00003d10| 73 20 27 64 65 63 69 70 | 68 65 72 2d 6c 6f 6f 70 |s 'decip|her-loop|
|00003d20| 2d 6e 6f 2d 62 72 65 61 | 6b 73 20 23 5b 28 66 75 |-no-brea|ks #[(fu|
|00003d30| 6e 63 29 20 22 c0 19 8a | 65 62 88 c2 c3 c0 c4 23 |nc) "...|eb.....#|
|00003d40| ad 99 6c ac 76 67 96 89 | 11 c5 59 ab 89 09 c6 58 |..l.vg..|..Y....X|
|00003d50| ab 84 0e 07 20 88 c0 75 | 88 aa 67 2a 87 22 20 5b |.... ..u|..g*." [|
|00003d60| 6e 69 6c 20 64 65 63 69 | 70 68 65 72 2d 63 68 61 |nil deci|pher-cha|
|00003d70| 72 20 73 65 61 72 63 68 | 2d 66 6f 72 77 61 72 64 |r search|-forward|
|00003d80| 2d 72 65 67 65 78 70 20 | 22 5e 3a 22 20 74 20 3f |-regexp |"^:" t ?|
|00003d90| 41 20 3f 5a 20 66 75 6e | 63 5d 20 35 20 28 23 24 |A ?Z fun|c] 5 (#$|
|00003da0| 20 2e 20 31 35 32 35 34 | 29 5d 29 0a 23 40 31 35 | . 15254|)]).#@15|
|00003db0| 35 20 49 6e 73 65 72 74 | 20 66 72 65 71 75 65 6e |5 Insert| frequen|
|00003dc0| 63 79 20 63 6f 75 6e 74 | 73 20 69 6e 20 63 75 72 |cy count|s in cur|
|00003dd0| 72 65 6e 74 20 62 75 66 | 66 65 72 2e 0a 45 61 63 |rent buf|fer..Eac|
|00003de0| 68 20 65 6c 65 6d 65 6e | 74 20 6f 66 20 46 52 45 |h elemen|t of FRE|
|00003df0| 51 2d 4c 49 53 54 20 69 | 73 20 61 20 6c 69 73 74 |Q-LIST i|s a list|
|00003e00| 20 28 4c 45 54 54 45 52 | 20 46 52 45 51 20 2e 2e | (LETTER| FREQ ..|
|00003e10| 2e 29 2e 0a 54 4f 54 41 | 4c 20 69 73 20 74 68 65 |.)..TOTA|L is the|
|00003e20| 20 74 6f 74 61 6c 20 6e | 75 6d 62 65 72 20 6f 66 | total n|umber of|
|00003e30| 20 6c 65 74 74 65 72 73 | 20 69 6e 20 74 68 65 20 | letters| in the |
|00003e40| 63 69 70 68 65 72 74 65 | 78 74 2e 1f 0a 28 64 65 |cipherte|xt...(de|
|00003e50| 66 61 6c 69 61 73 20 27 | 64 65 63 69 70 68 65 72 |falias '|decipher|
|00003e60| 2d 69 6e 73 65 72 74 2d | 66 72 65 71 75 65 6e 63 |-insert-|frequenc|
|00003e70| 79 2d 63 6f 75 6e 74 73 | 20 23 5b 28 66 72 65 71 |y-counts| #[(freq|
|00003e80| 2d 6c 69 73 74 20 74 6f | 74 61 6c 29 20 22 c0 c1 |-list to|tal) "..|
|00003e90| 1a 89 1b c4 56 ad ae 0d | 89 12 ab 9d 5c 6e 40 40 |....V...|....\n@@|
|00003ea0| c6 c7 5c 6e 40 41 40 5c | 6e 40 41 40 c8 5f 0e 09 |..\n@A@\|n@A@._..|
|00003eb0| a5 23 b1 02 88 c0 5c 6e | 9b 89 12 ac 63 ca 63 88 |.#....\n|....c.c.|
|00003ec0| 0d 41 15 0b 53 89 13 aa | 4e 2a 87 22 20 5b 34 20 |.A..S...|N*." [4 |
|00003ed0| 6e 69 6c 20 74 65 6d 70 | 2d 6c 69 73 74 20 69 20 |nil temp|-list i |
|00003ee0| 30 20 66 72 65 71 2d 6c | 69 73 74 20 66 6f 72 6d |0 freq-l|ist form|
|00003ef0| 61 74 20 22 25 34 64 25 | 33 64 25 25 20 20 22 20 |at "%4d%|3d%% " |
|00003f00| 31 30 30 20 74 6f 74 61 | 6c 20 3f 5c 6e 5d 20 37 |100 tota|l ?\n] 7|
|00003f10| 20 28 23 24 20 2e 20 31 | 35 37 39 34 29 5d 29 0a | (#$ . 1|5794)]).|
|00003f20| 28 64 65 66 61 6c 69 61 | 73 20 27 64 65 63 69 70 |(defalia|s 'decip|
|00003f30| 68 65 72 2d 2d 61 6e 61 | 6c 79 7a 65 20 23 5b 6e |her--ana|lyze #[n|
|00003f40| 69 6c 20 22 c0 c1 5c 6e | 0b 23 14 c5 0c 0e 06 5c |il "..\n|.#.....\|
|00003f50| 22 ae 8a 0c c7 42 0e 06 | 42 89 16 06 40 89 1e 08 |"....B..|B...@...|
|00003f60| 89 41 54 a1 88 29 5c 6e | c9 59 ab a6 0e 5c 6e 5c |.AT..)\n|.Y...\n\|
|00003f70| 6e c9 5a 48 0b cb 6b ab | 83 cc aa 83 0b c9 5a 0e |n.ZH..k.|......Z.|
|00003f80| 5c 6e 5c 6e c9 5a 48 0b | cb 6b ab 83 cc aa 83 0b |\n\n.ZH.|.k......|
|00003f90| c9 5a 48 54 49 88 0b c9 | 59 ab b7 0e 0d 0b c9 5a |.ZHTI...|Y......Z|
|00003fa0| 0e 0d 0b c9 5a 48 ce 5c | 5c 49 28 ab a6 0e 0f 0b |....ZH.\|\I(.....|
|00003fb0| c9 5a 48 5c 6e cb 6b ab | 83 cc aa 83 5c 6e c9 5a |.ZH\n.k.|....\n.Z|
|00003fc0| 0e 0f 0b c9 5a 48 5c 6e | cb 6b ab 83 cc aa 83 5c |....ZH\n|.k.....\|
|00003fd0| 6e c9 5a 48 54 49 88 0b | 89 12 87 22 20 5b 66 6f |n.ZHTI..|..." [fo|
|00003fe0| 72 6d 61 74 20 22 25 63 | 25 63 22 20 64 65 63 69 |rmat "%c|%c" deci|
|00003ff0| 70 68 65 72 2d 2d 70 72 | 65 76 2d 63 68 61 72 20 |pher--pr|ev-char |
|00004000| 64 65 63 69 70 68 65 72 | 2d 63 68 61 72 20 64 65 |decipher|-char de|
|00004010| 63 69 70 68 65 72 2d 2d | 64 69 67 72 61 6d 20 61 |cipher--|digram a|
|00004020| 73 73 6f 63 20 64 65 63 | 69 70 68 65 72 2d 2d 64 |ssoc dec|ipher--d|
|00004030| 69 67 72 61 6d 2d 6c 69 | 73 74 20 30 20 47 38 37 |igram-li|st 0 G87|
|00004040| 37 30 30 20 3f 41 20 64 | 65 63 69 70 68 65 72 2d |700 ?A d|ecipher-|
|00004050| 2d 62 65 66 6f 72 65 20 | 3f 5c 20 20 32 36 20 64 |-before |?\ 26 d|
|00004060| 65 63 69 70 68 65 72 2d | 2d 66 72 65 71 73 20 31 |ecipher-|-freqs 1|
|00004070| 20 64 65 63 69 70 68 65 | 72 2d 2d 61 66 74 65 72 | deciphe|r--after|
|00004080| 5d 20 36 5d 29 0a 23 40 | 34 34 20 47 65 6e 65 72 |] 6]).#@|44 Gener|
|00004090| 61 74 65 20 74 68 65 20 | 63 6f 75 6e 74 73 20 66 |ate the |counts f|
|000040a0| 6f 72 20 61 6e 20 61 64 | 6a 61 63 65 6e 63 79 20 |or an ad|jacency |
|000040b0| 6c 69 73 74 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |list...(|defalias|
|000040c0| 20 27 64 65 63 69 70 68 | 65 72 2d 2d 64 69 67 72 | 'deciph|er--digr|
|000040d0| 61 6d 2d 63 6f 75 6e 74 | 73 20 23 5b 28 63 6f 75 |am-count|s #[(cou|
|000040e0| 6e 74 73 29 20 22 c0 19 | c2 c3 0c c5 23 c6 c7 0c |nts) "..|....#...|
|000040f0| c8 48 c0 56 ab 84 09 53 | aa 81 09 5c 22 50 29 87 |.H.V...S|...\"P).|
|00004100| 22 20 5b 30 20 74 6f 74 | 61 6c 20 6d 61 70 63 6f |" [0 tot|al mapco|
|00004110| 6e 63 61 74 20 23 5b 28 | 78 29 20 22 08 c1 56 ab |ncat #[(|x) "..V.|
|00004120| 85 5c 6e 54 12 c3 87 08 | c4 56 ab 88 5c 6e 54 12 |.\nT....|.V..\nT.|
|00004130| c5 c6 08 5c 22 87 c7 87 | 22 20 5b 78 20 39 39 20 |...\"...|" [x 99 |
|00004140| 74 6f 74 61 6c 20 22 58 | 58 22 20 30 20 66 6f 72 |total "X|X" 0 for|
|00004150| 6d 61 74 20 22 25 32 64 | 22 20 22 20 20 22 5d 20 |mat "%2d|" " "] |
|00004160| 33 5d 20 63 6f 75 6e 74 | 73 20 22 22 20 66 6f 72 |3] count|s "" for|
|00004170| 6d 61 74 20 22 25 34 64 | 22 20 32 36 5d 20 35 20 |mat "%4d|" 26] 5 |
|00004180| 28 23 24 20 2e 20 31 36 | 35 32 33 29 5d 29 0a 23 |(#$ . 16|523)]).#|
|00004190| 40 36 35 20 43 6f 75 6e | 74 20 74 68 65 20 6e 75 |@65 Coun|t the nu|
|000041a0| 6d 62 65 72 20 6f 66 20 | 64 69 66 66 65 72 65 6e |mber of |differen|
|000041b0| 74 20 6c 65 74 74 65 72 | 73 20 61 20 6c 65 74 74 |t letter|s a lett|
|000041c0| 65 72 20 61 70 70 65 61 | 72 73 20 6e 65 78 74 20 |er appea|rs next |
|000041d0| 74 6f 2e 1f 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |to...(de|falias '|
|000041e0| 64 65 63 69 70 68 65 72 | 2d 2d 64 69 67 72 61 6d |decipher|--digram|
|000041f0| 2d 74 6f 74 61 6c 20 23 | 5b 28 62 65 66 6f 72 65 |-total #|[(before|
|00004200| 2d 63 6f 75 6e 74 20 61 | 66 74 65 72 2d 63 6f 75 |-count a|fter-cou|
|00004210| 6e 74 29 20 22 c0 c1 1a | 1b 5c 6e 53 89 12 c0 59 |nt) "...|.\nS...Y|
|00004220| ab 93 0c 5c 6e 48 c0 56 | ac 87 0d 5c 6e 48 c0 56 |...\nH.V|...\nH.V|
|00004230| ab 6a 0b 54 13 aa 65 0b | 2a 87 22 20 5b 30 20 32 |.j.T..e.|*." [0 2|
|00004240| 36 20 69 20 74 6f 74 61 | 6c 20 62 65 66 6f 72 65 |6 i tota|l before|
|00004250| 2d 63 6f 75 6e 74 20 61 | 66 74 65 72 2d 63 6f 75 |-count a|fter-cou|
|00004260| 6e 74 5d 20 32 20 28 23 | 24 20 2e 20 31 36 37 38 |nt] 2 (#|$ . 1678|
|00004270| 38 29 5d 29 0a 23 40 31 | 31 39 20 50 65 72 66 6f |8)]).#@1|19 Perfo|
|00004280| 72 6d 20 66 72 65 71 75 | 65 6e 63 79 20 61 6e 61 |rm frequ|ency ana|
|00004290| 6c 79 73 69 73 20 61 6e | 64 20 73 74 6f 72 65 20 |lysis an|d store |
|000042a0| 72 65 73 75 6c 74 73 20 | 69 6e 20 73 74 61 74 69 |results |in stati|
|000042b0| 73 74 69 63 73 20 62 75 | 66 66 65 72 2e 0a 43 72 |stics bu|ffer..Cr|
|000042c0| 65 61 74 65 73 20 74 68 | 65 20 73 74 61 74 69 73 |eates th|e statis|
|000042d0| 74 69 63 73 20 62 75 66 | 66 65 72 20 69 66 20 69 |tics buf|fer if i|
|000042e0| 74 20 64 6f 65 73 6e 27 | 74 20 65 78 69 73 74 2e |t doesn'|t exist.|
|000042f0| 1f 0a 28 64 65 66 61 6c | 69 61 73 20 27 64 65 63 |..(defal|ias 'dec|
|00004300| 69 70 68 65 72 2d 61 6e | 61 6c 79 7a 65 2d 62 75 |ipher-an|alyze-bu|
|00004310| 66 66 65 72 20 23 5b 6e | 69 6c 20 22 08 ab 83 c1 |ffer #[n|il "....|
|00004320| aa 81 c2 c3 c4 c5 5c 22 | c3 c4 c5 5c 22 c3 c4 c6 |......\"|...\"...|
|00004330| 5c 22 c6 c5 89 89 1e 07 | 1e 08 1e 09 1e 5c 6e 1e |\"......|.....\n.|
|00004340| 0b 1e 0c 1e 0d 1e 0e cf | d0 21 88 c4 1e 11 0e 11 |........|.!......|
|00004350| 53 89 16 11 c6 59 ab 96 | 0e 0d 0e 11 c3 d2 c6 5c |S....Y..|.......\|
|00004360| 22 49 88 0e 0c 0e 11 c3 | d2 c6 5c 22 49 88 aa 60 |"I......|..\"I..`|
|00004370| 29 08 ab 9f d3 d4 21 88 | c4 1e 11 0e 11 53 89 16 |).....!.|.....S..|
|00004380| 11 c6 59 ab 8b 0e 0c 0e | 11 48 c4 c6 49 88 aa 6b |..Y.....|.H..I..k|
|00004390| 29 aa 84 d5 d4 21 88 cf | d6 21 88 d7 0e 08 d8 5c |)....!..|.!.....\|
|000043a0| 22 c5 a1 88 d9 89 0e 08 | da 5c 22 db 5c 22 16 08 |".......|.\".\"..|
|000043b0| c4 1e 11 0e 11 53 89 16 | 11 c6 59 ab a7 0e 11 dc |.....S..|..Y.....|
|000043c0| 5c 5c 0e 0b 0e 11 48 dd | 0e 0d 0e 11 48 0e 0c 0e |\\....H.|....H...|
|000043d0| 11 48 5c 22 45 0e 07 42 | 16 07 0e 5c 6e 0e 0b 0e |.H\"E..B|...\n...|
|000043e0| 11 48 5c 5c 16 5c 6e aa | 4f 29 8a de df 21 71 88 |.H\\.\n.|O)...!q.|
|000043f0| 0e 20 e1 61 ac 86 e2 e3 | e4 20 5c 22 88 c5 16 25 |. .a....|. \"...%|
|00004400| e6 20 88 e7 0e 07 0e 5c | 6e 5c 22 88 e8 63 88 d9 |. .....\|n\"..c..|
|00004410| 0e 07 e9 5c 22 16 07 e7 | 0e 07 0e 5c 6e 5c 22 88 |...\"...|...\n\".|
|00004420| e8 ea eb 0e 07 c5 23 ec | b1 03 88 ed 0e 08 47 ee |......#.|......G.|
|00004430| 5c 5c ef 5c 22 89 1e 30 | 1e 11 c5 1e 31 0e 11 c6 |\\.\"..0|....1...|
|00004440| 56 ab b2 0e 08 89 16 31 | ab 98 0e 31 40 40 f2 f3 |V......1|...1@@..|
|00004450| 0e 31 40 41 5c 22 b1 02 | 88 0e 30 0e 31 9b 89 16 |.1@A\"..|..0.1...|
|00004460| 31 ac 68 f4 20 88 e8 63 | 88 0e 08 41 16 08 0e 11 |1.h. ..c|...A....|
|00004470| 53 89 16 11 aa 4a 2b d9 | 0e 07 f5 5c 22 89 16 07 |S....J+.|...\"...|
|00004480| c5 89 1e 11 1e 36 1e 31 | 0e 31 89 41 16 31 40 89 |.....6.1|.1.A.1@.|
|00004490| 16 36 ab bf 0e 36 41 40 | c6 6b ac 6c 0e 36 40 dc |.6...6A@|.k.l.6@.|
|000044a0| 5a 16 11 e8 f7 f8 0e 0d | 0e 11 48 21 e8 0e 36 40 |Z.......|..H!..6@|
|000044b0| f9 f2 fa 0e 36 41 41 40 | 0e 36 41 40 0e 36 41 40 |....6AA@|.6A@.6A@|
|000044c0| fb 5f 0e 5c 6e a5 24 f8 | 0e 0c 0e 11 48 21 e8 b1 |._.\n.$.|....H!..|
|000044d0| 09 88 aa 35 2b df 16 25 | fc c5 21 88 2e 09 cf c5 |...5+..%|..!.....|
|000044e0| 21 87 22 20 5b 64 65 63 | 69 70 68 65 72 2d 69 67 |!." [dec|ipher-ig|
|000044f0| 6e 6f 72 65 2d 73 70 61 | 63 65 73 20 3f 5c 20 20 |nore-spa|ces ?\ |
|00004500| 3f 5c 2a 20 6d 61 6b 65 | 2d 76 65 63 74 6f 72 20 |?\* make|-vector |
|00004510| 32 36 20 6e 69 6c 20 30 | 20 66 72 65 71 2d 6c 69 |26 nil 0| freq-li|
|00004520| 73 74 20 64 65 63 69 70 | 68 65 72 2d 2d 64 69 67 |st decip|her--dig|
|00004530| 72 61 6d 2d 6c 69 73 74 | 20 64 65 63 69 70 68 65 |ram-list| deciphe|
|00004540| 72 2d 2d 64 69 67 72 61 | 6d 20 74 6f 74 61 6c 2d |r--digra|m total-|
|00004550| 63 68 61 72 73 20 64 65 | 63 69 70 68 65 72 2d 2d |chars de|cipher--|
|00004560| 66 72 65 71 73 20 64 65 | 63 69 70 68 65 72 2d 2d |freqs de|cipher--|
|00004570| 61 66 74 65 72 20 64 65 | 63 69 70 68 65 72 2d 2d |after de|cipher--|
|00004580| 62 65 66 6f 72 65 20 64 | 65 63 69 70 68 65 72 2d |before d|ecipher-|
|00004590| 2d 70 72 65 76 2d 63 68 | 61 72 20 6d 65 73 73 61 |-prev-ch|ar messa|
|000045a0| 67 65 20 22 53 63 61 6e | 6e 69 6e 67 20 62 75 66 |ge "Scan|ning buf|
|000045b0| 66 65 72 2e 2e 2e 22 20 | 69 20 32 37 20 64 65 63 |fer..." |i 27 dec|
|000045c0| 69 70 68 65 72 2d 6c 6f | 6f 70 2d 6e 6f 2d 62 72 |ipher-lo|op-no-br|
|000045d0| 65 61 6b 73 20 64 65 63 | 69 70 68 65 72 2d 2d 61 |eaks dec|ipher--a|
|000045e0| 6e 61 6c 79 7a 65 20 64 | 65 63 69 70 68 65 72 2d |nalyze d|ecipher-|
|000045f0| 6c 6f 6f 70 2d 77 69 74 | 68 2d 62 72 65 61 6b 73 |loop-wit|h-breaks|
|00004600| 20 22 50 72 6f 63 65 73 | 73 69 6e 67 20 72 65 73 | "Proces|sing res|
|00004610| 75 6c 74 73 2e 2e 2e 22 | 20 6c 61 73 74 20 32 20 |ults..."| last 2 |
|00004620| 73 6f 72 74 20 23 5b 28 | 61 20 62 29 20 22 08 40 |sort #[(|a b) ".@|
|00004630| 09 40 99 87 22 20 5b 61 | 20 62 5d 20 32 5d 20 23 |.@.." [a| b] 2] #|
|00004640| 5b 28 61 20 62 29 20 22 | 08 41 09 41 56 87 22 20 |[(a b) "|.A.AV." |
|00004650| 5b 61 20 62 5d 20 32 5d | 20 3f 41 20 64 65 63 69 |[a b] 2]| ?A deci|
|00004660| 70 68 65 72 2d 2d 64 69 | 67 72 61 6d 2d 74 6f 74 |pher--di|gram-tot|
|00004670| 61 6c 20 64 65 63 69 70 | 68 65 72 2d 73 74 61 74 |al decip|her-stat|
|00004680| 73 2d 62 75 66 66 65 72 | 20 74 20 6d 61 6a 6f 72 |s-buffer| t major|
|00004690| 2d 6d 6f 64 65 20 64 65 | 63 69 70 68 65 72 2d 73 |-mode de|cipher-s|
|000046a0| 74 61 74 73 2d 6d 6f 64 | 65 20 65 72 72 6f 72 20 |tats-mod|e error |
|000046b0| 22 42 75 66 66 65 72 20 | 25 73 20 69 73 20 6e 6f |"Buffer |%s is no|
|000046c0| 74 20 69 6e 20 44 65 63 | 69 70 68 65 72 2d 53 74 |t in Dec|ipher-St|
|000046d0| 61 74 73 20 6d 6f 64 65 | 22 20 62 75 66 66 65 72 |ats mode|" buffer|
|000046e0| 2d 6e 61 6d 65 20 62 75 | 66 66 65 72 2d 72 65 61 |-name bu|ffer-rea|
|000046f0| 64 2d 6f 6e 6c 79 20 65 | 72 61 73 65 2d 62 75 66 |d-only e|rase-buf|
|00004700| 66 65 72 20 64 65 63 69 | 70 68 65 72 2d 69 6e 73 |fer deci|pher-ins|
|00004710| 65 72 74 2d 66 72 65 71 | 75 65 6e 63 79 2d 63 6f |ert-freq|uency-co|
|00004720| 75 6e 74 73 20 3f 5c 6e | 20 23 5b 28 61 20 62 29 |unts ?\n| #[(a b)|
|00004730| 20 22 08 41 40 09 41 40 | 56 87 22 20 5b 61 20 62 | ".A@.A@|V." [a b|
|00004740| 5d 20 32 5d 20 6d 61 70 | 63 6f 6e 63 61 74 20 23 |] 2] map|concat #|
|00004750| 5b 28 61 29 20 22 c0 09 | 40 21 87 22 20 5b 63 68 |[(a) "..|@!." [ch|
|00004760| 61 72 2d 74 6f 2d 73 74 | 72 69 6e 67 20 61 5d 20 |ar-to-st|ring a] |
|00004770| 32 5d 20 22 5c 6e 5c 6e | 22 20 66 6c 6f 6f 72 20 |2] "\n\n|" floor |
|00004780| 39 20 31 30 20 72 6f 77 | 73 20 74 65 6d 70 2d 6c |9 10 row|s temp-l|
|00004790| 69 73 74 20 66 6f 72 6d | 61 74 20 22 25 33 64 20 |ist form|at "%3d |
|000047a0| 20 20 22 20 64 65 6c 65 | 74 65 2d 68 6f 72 69 7a | " dele|te-horiz|
|000047b0| 6f 6e 74 61 6c 2d 73 70 | 61 63 65 20 23 5b 28 61 |ontal-sp|ace #[(a|
|000047c0| 20 62 29 20 22 08 41 41 | 40 09 41 41 40 56 87 22 | b) ".AA|@.AA@V."|
|000047d0| 20 5b 61 20 62 5d 20 32 | 5d 20 65 6e 74 72 79 20 | [a b] 2|] entry |
|000047e0| 22 20 20 22 20 64 65 63 | 69 70 68 65 72 2d 2d 64 |" " dec|ipher--d|
|000047f0| 69 67 72 61 6d 2d 63 6f | 75 6e 74 73 20 22 3a 20 |igram-co|unts ": |
|00004800| 41 20 42 20 43 20 44 20 | 45 20 46 20 47 20 48 20 |A B C D |E F G H |
|00004810| 49 20 4a 20 4b 20 4c 20 | 4d 20 4e 20 4f 20 50 20 |I J K L |M N O P |
|00004820| 51 20 52 20 53 20 54 20 | 55 20 56 20 57 20 58 20 |Q R S T |U V W X |
|00004830| 59 20 5a 20 2a 22 20 22 | 25 34 64 20 25 34 64 20 |Y Z *" "|%4d %4d |
|00004840| 25 33 64 25 25 5c 6e 20 | 20 22 20 31 30 30 20 73 |%3d%%\n | " 100 s|
|00004850| 65 74 2d 62 75 66 66 65 | 72 2d 6d 6f 64 69 66 69 |et-buffe|r-modifi|
|00004860| 65 64 2d 70 5d 20 31 33 | 20 28 23 24 20 2e 20 31 |ed-p] 13| (#$ . 1|
|00004870| 37 30 31 39 29 5d 29 0a | 23 40 35 30 20 4d 61 6a |7019)]).|#@50 Maj|
|00004880| 6f 72 20 6d 6f 64 65 20 | 66 6f 72 20 64 69 73 70 |or mode |for disp|
|00004890| 6c 61 79 69 6e 67 20 63 | 69 70 68 65 72 74 65 78 |laying c|iphertex|
|000048a0| 74 20 73 74 61 74 69 73 | 74 69 63 73 2e 1f 0a 28 |t statis|tics...(|
|000048b0| 64 65 66 61 6c 69 61 73 | 20 27 64 65 63 69 70 68 |defalias| 'deciph|
|000048c0| 65 72 2d 73 74 61 74 73 | 2d 6d 6f 64 65 20 23 5b |er-stats|-mode #[|
|000048d0| 6e 69 6c 20 22 c0 20 88 | c1 12 c1 13 c4 15 c4 16 |nil ". .|........|
|000048e0| 06 c7 16 08 c9 16 5c 6e | cb 0e 0c 21 88 cd ce 21 |......\n|...!...!|
|000048f0| 87 22 20 5b 6b 69 6c 6c | 2d 61 6c 6c 2d 6c 6f 63 |." [kill|-all-loc|
|00004900| 61 6c 2d 76 61 72 69 61 | 62 6c 65 73 20 74 20 62 |al-varia|bles t b|
|00004910| 75 66 66 65 72 2d 72 65 | 61 64 2d 6f 6e 6c 79 20 |uffer-re|ad-only |
|00004920| 62 75 66 66 65 72 2d 75 | 6e 64 6f 2d 6c 69 73 74 |buffer-u|ndo-list|
|00004930| 20 6e 69 6c 20 63 61 73 | 65 2d 66 6f 6c 64 2d 73 | nil cas|e-fold-s|
|00004940| 65 61 72 63 68 20 69 6e | 64 65 6e 74 2d 74 61 62 |earch in|dent-tab|
|00004950| 73 2d 6d 6f 64 65 20 64 | 65 63 69 70 68 65 72 2d |s-mode d|ecipher-|
|00004960| 73 74 61 74 73 2d 6d 6f | 64 65 20 6d 61 6a 6f 72 |stats-mo|de major|
|00004970| 2d 6d 6f 64 65 20 22 44 | 65 63 69 70 68 65 72 2d |-mode "D|ecipher-|
|00004980| 53 74 61 74 73 22 20 6d | 6f 64 65 2d 6e 61 6d 65 |Stats" m|ode-name|
|00004990| 20 75 73 65 2d 6c 6f 63 | 61 6c 2d 6d 61 70 20 64 | use-loc|al-map d|
|000049a0| 65 63 69 70 68 65 72 2d | 73 74 61 74 73 2d 6d 6f |ecipher-|stats-mo|
|000049b0| 64 65 2d 6d 61 70 20 72 | 75 6e 2d 68 6f 6f 6b 73 |de-map r|un-hooks|
|000049c0| 20 64 65 63 69 70 68 65 | 72 2d 73 74 61 74 73 2d | deciphe|r-stats-|
|000049d0| 6d 6f 64 65 2d 68 6f 6f | 6b 5d 20 32 20 28 23 24 |mode-hoo|k] 2 (#$|
|000049e0| 20 2e 20 31 38 35 35 37 | 29 20 6e 69 6c 5d 29 0a | . 18557|) nil]).|
|000049f0| 28 70 75 74 20 27 64 65 | 63 69 70 68 65 72 2d 73 |(put 'de|cipher-s|
|00004a00| 74 61 74 73 2d 6d 6f 64 | 65 20 27 6d 6f 64 65 2d |tats-mod|e 'mode-|
|00004a10| 63 6c 61 73 73 20 27 73 | 70 65 63 69 61 6c 29 0a |class 's|pecial).|
|00004a20| 23 40 35 39 20 4d 61 6b | 65 20 74 68 65 20 73 74 |#@59 Mak|e the st|
|00004a30| 61 74 69 73 74 69 63 73 | 20 62 75 66 66 65 72 20 |atistics| buffer |
|00004a40| 76 69 73 69 62 6c 65 2c | 20 62 75 74 20 64 6f 20 |visible,| but do |
|00004a50| 6e 6f 74 20 73 65 6c 65 | 63 74 20 69 74 2e 1f 0a |not sele|ct it...|
|00004a60| 28 64 65 66 61 6c 69 61 | 73 20 27 64 65 63 69 70 |(defalia|s 'decip|
|00004a70| 68 65 72 2d 64 69 73 70 | 6c 61 79 2d 73 74 61 74 |her-disp|lay-stat|
|00004a80| 73 2d 62 75 66 66 65 72 | 20 23 5b 6e 69 6c 20 22 |s-buffer| #[nil "|
|00004a90| c0 20 c1 20 1a 1b 70 0b | 61 ae 87 c4 0b 21 88 c5 |. . ..p.|a....!..|
|00004aa0| 5c 6e 21 2a 87 22 20 5b | 64 65 63 69 70 68 65 72 |\n!*." [|decipher|
|00004ab0| 2d 73 74 61 74 73 2d 62 | 75 66 66 65 72 20 73 65 |-stats-b|uffer se|
|00004ac0| 6c 65 63 74 65 64 2d 77 | 69 6e 64 6f 77 20 63 75 |lected-w|indow cu|
|00004ad0| 72 72 65 6e 74 2d 77 69 | 6e 64 6f 77 20 73 74 61 |rrent-wi|ndow sta|
|00004ae0| 74 73 2d 62 75 66 66 65 | 72 20 70 6f 70 2d 74 6f |ts-buffe|r pop-to|
|00004af0| 2d 62 75 66 66 65 72 20 | 73 65 6c 65 63 74 2d 77 |-buffer |select-w|
|00004b00| 69 6e 64 6f 77 5d 20 32 | 20 28 23 24 20 2e 20 31 |indow] 2| (#$ . 1|
|00004b10| 38 39 38 31 29 5d 29 0a | 23 40 32 30 36 20 52 65 |8981)]).|#@206 Re|
|00004b20| 74 75 72 6e 20 74 68 65 | 20 62 75 66 66 65 72 20 |turn the| buffer |
|00004b30| 75 73 65 64 20 66 6f 72 | 20 64 65 63 69 70 68 65 |used for| deciphe|
|00004b40| 72 20 73 74 61 74 69 73 | 74 69 63 73 2e 0a 49 66 |r statis|tics..If|
|00004b50| 20 43 52 45 41 54 45 20 | 69 73 20 6e 6f 6e 2d 6e | CREATE |is non-n|
|00004b60| 69 6c 2c 20 63 72 65 61 | 74 65 20 74 68 65 20 62 |il, crea|te the b|
|00004b70| 75 66 66 65 72 20 69 66 | 20 69 74 20 64 6f 65 73 |uffer if| it does|
|00004b80| 6e 27 74 20 65 78 69 73 | 74 2e 0a 54 68 69 73 20 |n't exis|t..This |
|00004b90| 69 73 20 67 75 61 72 61 | 6e 74 65 65 64 20 74 6f |is guara|nteed to|
|00004ba0| 20 72 65 74 75 72 6e 20 | 61 20 62 75 66 66 65 72 | return |a buffer|
|00004bb0| 20 69 6e 20 44 65 63 69 | 70 68 65 72 2d 53 74 61 | in Deci|pher-Sta|
|00004bc0| 74 73 20 6d 6f 64 65 3b | 0a 69 66 20 69 74 20 63 |ts mode;|.if it c|
|00004bd0| 61 6e 27 74 2c 20 69 74 | 20 73 69 67 6e 61 6c 73 |an't, it| signals|
|00004be0| 20 61 6e 20 65 72 72 6f | 72 2e 1f 0a 28 64 65 66 | an erro|r...(def|
|00004bf0| 61 6c 69 61 73 20 27 64 | 65 63 69 70 68 65 72 2d |alias 'd|ecipher-|
|00004c00| 73 74 61 74 73 2d 62 75 | 66 66 65 72 20 23 5b 28 |stats-bu|ffer #[(|
|00004c10| 26 6f 70 74 69 6f 6e 61 | 6c 20 63 72 65 61 74 65 |&optiona|l create|
|00004c20| 29 20 22 08 c1 61 ab 82 | 70 87 c2 0b 21 ab 98 c4 |) "..a..|p...!...|
|00004c30| 0b 21 ab 93 8a 0b 71 88 | 08 29 c1 61 ac 87 c5 c6 |.!....q.|.).a....|
|00004c40| c4 0b 21 5c 22 88 0b 87 | 0e 07 ab ab c8 c4 20 c8 |..!\"...|...... .|
|00004c50| 51 1e 09 ca c0 cb cc 0e | 09 21 21 5c 22 a3 c1 61 |Q.......|.!!\"..a|
|00004c60| ab 86 cc 0e 09 21 aa 84 | cd 0e 09 21 13 29 8a 0b |.....!..|...!.)..|
|00004c70| 71 88 c1 20 88 29 0b 87 | c5 ce 21 87 22 20 5b 6d |q.. .)..|..!." [m|
|00004c80| 61 6a 6f 72 2d 6d 6f 64 | 65 20 64 65 63 69 70 68 |ajor-mod|e deciph|
|00004c90| 65 72 2d 73 74 61 74 73 | 2d 6d 6f 64 65 20 62 75 |er-stats|-mode bu|
|00004ca0| 66 66 65 72 70 20 64 65 | 63 69 70 68 65 72 2d 73 |fferp de|cipher-s|
|00004cb0| 74 61 74 73 2d 62 75 66 | 66 65 72 20 62 75 66 66 |tats-buf|fer buff|
|00004cc0| 65 72 2d 6e 61 6d 65 20 | 65 72 72 6f 72 20 22 42 |er-name |error "B|
|00004cd0| 75 66 66 65 72 20 25 73 | 20 69 73 20 6e 6f 74 20 |uffer %s| is not |
|00004ce0| 69 6e 20 44 65 63 69 70 | 68 65 72 2d 53 74 61 74 |in Decip|her-Stat|
|00004cf0| 73 20 6d 6f 64 65 22 20 | 63 72 65 61 74 65 20 22 |s mode" |create "|
|00004d00| 2a 22 20 73 74 61 74 73 | 2d 6e 61 6d 65 20 61 73 |*" stats|-name as|
|00004d10| 73 6f 63 20 62 75 66 66 | 65 72 2d 6c 6f 63 61 6c |soc buff|er-local|
|00004d20| 2d 76 61 72 69 61 62 6c | 65 73 20 67 65 74 2d 62 |-variabl|es get-b|
|00004d30| 75 66 66 65 72 20 67 65 | 6e 65 72 61 74 65 2d 6e |uffer ge|nerate-n|
|00004d40| 65 77 2d 62 75 66 66 65 | 72 20 22 4e 6f 20 73 74 |ew-buffe|r "No st|
|00004d50| 61 74 69 73 74 69 63 73 | 20 62 75 66 66 65 72 22 |atistics| buffer"|
|00004d60| 5d 20 35 20 28 23 24 20 | 2e 20 31 39 32 33 30 29 |] 5 (#$ |. 19230)|
|00004d70| 5d 29 0a 28 70 72 6f 76 | 69 64 65 20 27 64 65 63 |]).(prov|ide 'dec|
|00004d80| 69 70 68 65 72 29 0a | |ipher). | |
+--------+-------------------------+-------------------------+--------+--------+